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)

 

  

 

posted @ 2019-12-16 17:35  为生活而努力  阅读(205)  评论(0编辑  收藏  举报