摘要: 1、csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A; 3.用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网阅读全文
posted @ 2018-09-26 17:40 aaronthon 阅读(16) 评论(0) 编辑
摘要: Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis根本是使用内存存储。第一次取数据,会先去内存取,如果没有再去硬盘上去取,取到数据后会在内存上留一份。第二次来去这些数据的时候直接去内存取了,这样速度就阅读全文
posted @ 2018-09-07 19:39 aaronthon 阅读(26) 评论(0) 编辑
摘要: session机制采用的是一种在客户端与服务端之间保持状态的解决方案,由于采用服务器端保持状态的方案在客户端也要保存标识,session机制也要借助于cookie机制达到目的。session保存了客户的登录信息,但是不需要把用户的所有信息都保存在session中,我们只需要让与用户数据关联的信息保存阅读全文
posted @ 2018-08-13 12:43 aaronthon 阅读(59) 评论(0) 编辑
摘要: 先写一段Flask程序 请求一旦到来,就会执行app.__call__()方法,我们先看__call__的源码。 这段代码中的注释翻译过来是这样的:WSGI服务器调用Flask应用程序对象作为WSGI应用程序。这就叫: meth : ` wsgi _ app ',它可以打包应用中间件。" 这里面有e阅读全文
posted @ 2018-08-11 15:24 aaronthon 阅读(31) 评论(1) 编辑
摘要: 什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法。 输入→算法→输出 时间复杂度 时间复杂度:用来评估算法运行效率的一个东西。 小结: 空间复杂度 空间复杂度:用来评估算法内存占用大小的一个式子 空间换时间:分给它一些空间或内存,让它运行速度更快 递归 递归的两个特点: 1.调阅读全文
posted @ 2018-08-09 22:38 aaronthon 阅读(160) 评论(1) 编辑
摘要: rbac:基于角色的权限访问控制(Role-Based Access Control)。 rbac的主要流程:给每个角色赋予不同的权限,是这个角色的员工都有这个角色的所有权限。一个角色可以有多个人员担任,一个员工可以担任多个角色(比如部门经理、业务员等)。当员工成功登陆系统时,系统需要获取这个员工的阅读全文
posted @ 2018-06-29 17:17 aaronthon 阅读(28) 评论(0) 编辑
摘要: 权限问题 1.models.py 2.用户类型: 3.views.py: 假设订单相关业务(只有SVIP用户有权限) 假设用户信息相关业务(只有普通用户、VIP有权限) 4.运行结果: 基本使用 以上的权限代码封装到一个类中,以后各个视图的get请求直接调用即可。不用每个类都写一遍权限。 自定义权限阅读全文
posted @ 2018-06-24 16:44 aaronthon 阅读(21) 评论(0) 编辑
摘要: 如果我们写API有人能访问,有人不能访问,则需要些认证。 如何知道该用户是否已登入? 如果用户登入成功,则给用户一个随机字符串,去访问另一个页面。 以前写session的时候,都是把session写cookie里面。 那现在我们可以把随机字符串通过返回值的方式给用户。 后端通过查看用户的url判断用阅读全文
posted @ 2018-06-23 18:44 aaronthon 阅读(70) 评论(3) 编辑
摘要: 当用户提交评论的时候,比如如下评论内容 这样当现实评论的时候会先弹出111弹框,再显示评论。这就是xss攻击。 所以,我们需要对评论内容进行检测,对恶意代码进行删除,不让不存到数据库。 如下解决方案:阅读全文
posted @ 2018-10-16 21:51 aaronthon 阅读(4) 评论(0) 编辑
摘要: 环境准备: 表结构 表数据 执行过程: 当反向查询的时候,通过Publisher表查询Book表数据。 异常情况: list index out of range 提示index超出范围。 当p_id=3的时候,查询不到对象,就不会报错。 结束!阅读全文
posted @ 2018-09-30 16:15 aaronthon 阅读(14) 评论(0) 编辑
摘要: 出现问题: 如上述代码,想将rets中的数据通过for循环的方式添加到context里面想要得到如下类型的字典: 运行结果却是: 分析原因: 打印每次结果: 发现每次for循环之后添加到字典中,都会覆盖掉上次添加的数据. 因为字典的增加方式dict1['aaa'] = bbb,这种形式是如果字典理由阅读全文
posted @ 2018-09-30 13:47 aaronthon 阅读(17) 评论(0) 编辑
摘要: rest_framework框架的认识 它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架。 一 路由 可以通过路由as_view()传参 根据请求方式的不同执行对应不同的方法 在routers模块下 封装了很多关于路由的方法 , 最基础的BaseRouter类,给我提供自定制阅读全文
posted @ 2018-09-29 13:18 aaronthon 阅读(6) 评论(0) 编辑
摘要: 1 如下命令: dff里面的a是前面的变量,b是后面的变量。 a是查看暂存的文件更新了哪些部分,也就是更改之后没有暂存起来的变化内容。 b是查看已经暂存起来的文件,显示的是下一次commit提交的主分支的内容。 2 如下命令: 进入目录,输入: 就会显示修改情况。阅读全文
posted @ 2018-09-28 15:07 aaronthon 阅读(10) 评论(0) 编辑
摘要: 一、准备 比如建立一个test.sh的脚本文件,脚本代码如下: 代码功能实现的是:输出字符Hello,world! 二、运行脚本 在终端切换到test.sh所在目录并运行程序,出现Permission denied提示,如下: 三、修改文件权限 这是我们可以借助chmod命令修改文件权限即可,如下:阅读全文
posted @ 2018-09-28 14:31 aaronthon 阅读(36) 评论(0) 编辑
摘要: 1、csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A; 3.用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网阅读全文
posted @ 2018-09-26 17:40 aaronthon 阅读(16) 评论(0) 编辑
摘要: 一、logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息; print将所有信息都阅读全文
posted @ 2018-09-26 16:14 aaronthon 阅读(11) 评论(0) 编辑
摘要: logger对象配置 logging库提供了多个组件:Logger、Handler、Filter、Formatter。Logger对象提供应用程序可直接使用的接口,Handler发送日志到适当的目的地,Filter提供了过滤日志信息的方法,Formatter指定日志显示格式。另外,可以通过:logg阅读全文
posted @ 2018-09-26 13:53 aaronthon 阅读(6) 评论(0) 编辑
摘要: get_or_create函数比较好用。 如果查询到就返回,如果没查询到就向数据库加入新的对象。 e.g. 注意:返回的是tuple,:(对象, 是否是创建的) e.g. (size, created)阅读全文
posted @ 2018-09-26 11:22 aaronthon 阅读(15) 评论(0) 编辑