摘要: 1、csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A; 3.用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网阅读全文
posted @ 2018-09-26 17:40 aaronthon 阅读(47) 评论(0) 编辑
摘要: Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis根本是使用内存存储。第一次取数据,会先去内存取,如果没有再去硬盘上去取,取到数据后会在内存上留一份。第二次来去这些数据的时候直接去内存取了,这样速度就阅读全文
posted @ 2018-09-07 19:39 aaronthon 阅读(43) 评论(0) 编辑
摘要: session机制采用的是一种在客户端与服务端之间保持状态的解决方案,由于采用服务器端保持状态的方案在客户端也要保存标识,session机制也要借助于cookie机制达到目的。session保存了客户的登录信息,但是不需要把用户的所有信息都保存在session中,我们只需要让与用户数据关联的信息保存阅读全文
posted @ 2018-08-13 12:43 aaronthon 阅读(104) 评论(0) 编辑
摘要: 先写一段Flask程序 请求一旦到来,就会执行app.__call__()方法,我们先看__call__的源码。 这段代码中的注释翻译过来是这样的:WSGI服务器调用Flask应用程序对象作为WSGI应用程序。这就叫: meth : ` wsgi _ app ',它可以打包应用中间件。" 这里面有e阅读全文
posted @ 2018-08-11 15:24 aaronthon 阅读(53) 评论(1) 编辑
摘要: 什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法。 输入→算法→输出 时间复杂度 时间复杂度:用来评估算法运行效率的一个东西。 小结: 空间复杂度 空间复杂度:用来评估算法内存占用大小的一个式子 空间换时间:分给它一些空间或内存,让它运行速度更快 递归 递归的两个特点: 1.调阅读全文
posted @ 2018-08-09 22:38 aaronthon 阅读(390) 评论(1) 编辑
摘要: rbac:基于角色的权限访问控制(Role-Based Access Control)。 rbac的主要流程:给每个角色赋予不同的权限,是这个角色的员工都有这个角色的所有权限。一个角色可以有多个人员担任,一个员工可以担任多个角色(比如部门经理、业务员等)。当员工成功登陆系统时,系统需要获取这个员工的阅读全文
posted @ 2018-06-29 17:17 aaronthon 阅读(45) 评论(0) 编辑
摘要: 权限问题 1.models.py 2.用户类型: 3.views.py: 假设订单相关业务(只有SVIP用户有权限) 假设用户信息相关业务(只有普通用户、VIP有权限) 4.运行结果: 基本使用 以上的权限代码封装到一个类中,以后各个视图的get请求直接调用即可。不用每个类都写一遍权限。 自定义权限阅读全文
posted @ 2018-06-24 16:44 aaronthon 阅读(31) 评论(0) 编辑
摘要: 如果我们写API有人能访问,有人不能访问,则需要些认证。 如何知道该用户是否已登入? 如果用户登入成功,则给用户一个随机字符串,去访问另一个页面。 以前写session的时候,都是把session写cookie里面。 那现在我们可以把随机字符串通过返回值的方式给用户。 后端通过查看用户的url判断用阅读全文
posted @ 2018-06-23 18:44 aaronthon 阅读(86) 评论(3) 编辑
摘要: 环境: 查询一个里面所有表的信息: 查询单个表的信息: 查询一张表的所有字段信息: 一些基础:阅读全文
posted @ 2019-01-09 21:58 aaronthon 阅读(5) 评论(0) 编辑
摘要: flask框架连接MySQL,我们使用pymsql这个工具,如下操作:阅读全文
posted @ 2019-01-09 18:34 aaronthon 阅读(12) 评论(0) 编辑
摘要: 本章将介绍如下主题: 1.1 网络爬虫的使用场景 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 爬虫从一个或若干初始网页的URL开始,获得初阅读全文
posted @ 2019-01-03 21:51 aaronthon 阅读(13) 评论(0) 编辑
摘要: 工作中正好用到。阅读全文
posted @ 2018-12-29 20:57 aaronthon 阅读(11) 评论(0) 编辑
摘要: 迭代器 看如下代码: 输出结果: 6 7 8 这里面的for ... in ... 做了两件事: 对于A这个类,它里面定义了__iter__()和__next__()方法,他就是一个可迭代的类。也可以说是一个可迭代的对象(python中一切皆对象)。 含有__next__()函数的对象都是一个迭代器阅读全文
posted @ 2018-12-25 20:59 aaronthon 阅读(17) 评论(0) 编辑
摘要: 代码html 下面是找不到js文件的人看的:) /*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ !function(a,b){"object"==typeof module&&"o阅读全文
posted @ 2018-12-24 20:55 aaronthon 阅读(4) 评论(0) 编辑
摘要: unicode = u'\u9879\u76ee\u7ba1\u7406\u90e8' print unicode #项目管理部 unicode = unicode.replace("项目", "") print unicode # 管理部阅读全文
posted @ 2018-12-20 21:34 aaronthon 阅读(6) 评论(0) 编辑
摘要: 二、高级应用 2.1 web.ctx 获取客户端信息,比如:来源页面、客户端浏览器类型等。 web.ctx基于 threadeddict类,又被叫做 ThreadDict。这个类创建了一个类似字典(dictionary-like)的对象,对象中的值都是与线程 id 相对应的。这样做很妙,因为很多用户阅读全文
posted @ 2018-12-19 17:13 aaronthon 阅读(8) 评论(0) 编辑
摘要: 问题: 在web.py的模板文件中, 如何得到i18n的支持? Solution: 项目目录结构: 文件: proj/code.py 模板文件: proj/templates/hello.html. 创建一个locale目录并使用python2.6内建的pygettext.py从python脚本和模阅读全文
posted @ 2018-12-19 13:02 aaronthon 阅读(4) 评论(0) 编辑
摘要: 一、基本应用 1.1 Hello World! 1.2 提供静态文件 在当前应用的目录下创建static目录,将需要提供访问的静态文件放里面即可,比如JS,CSS等静态文件。 直接访问http://localhost/static/ 默认返回static里面的index.py文件 直接访问http:阅读全文
posted @ 2018-12-18 20:38 aaronthon 阅读(10) 评论(0) 编辑