Django 知识点补充
1:django设置session过期时间
django auth模块自带session,在项目中,用户登录成功之后,一般会设置session过期时间
在settings.py中添加session设置
# session 设置 # 设置过期时间10分钟,默认为两周 SESSION_COOKIE_AGE = 60 * 10 # 如果设置为True,django为每次request请求都保存session的内容,默认为False。 SESSION_SAVE_EVERY_REQUEST = True # 设置关闭浏览器时失效 SESSION_EXPIRE_AT_BROWSER_CLOSE = True
2:解决session过期跳转到登陆页面,并跳出iframe框架
在登录首页的HTML中添加JS代码进行实现,我的项目登录页是login.html ,我在login.html页面中添加如下代码,顺利解决
// 解决session过期跳转登录页,并跳出iframe框架 $(function () { if (window !== window.top) { window.top.location = location; } })
3:解决项目中XSS攻击
XSS 是常见的跨站脚本攻击,而且这种类型的错误很不容易被发现或者被开发人员忽视,当然django 框架本身是有这方面的考虑的。
列举一个常见的现象:在页面上有一个搜索框,输入js代码之后,点击搜索,js代码被执行了。就是最常见的XSS攻击
解决方法如下:
# 在views中进行修改 from django.utils.html import escape, strip_tags, remove_tags # get获取搜索框的内容 sreach = request.GET.get('sreach') # 对获取的数据进行过滤,避免js代码 sreach = escape(sreach)