使用request.GET和request.META进行安全性检查,以获取django python中的各种值

时间:2012-08-01 08:11:47

标签: python django security xss

在使用request.GET获取请求参数或使用request.META获取HTTP_REFERER时,我可以在django中实现哪种类型的安全检查以获得额外的安全性。

具体来说,我正在寻找 XSS(跨站点脚本)安全检查,因为我的一位同事已经指出某些机构可以在这里做一些XSS攻击。

示例代码:

next = request.GET.get('next','')
if next:
 do something

我已经阅读了官方的django文档但是没有太多关于保护request.GET和META方法。 Security doc for django.

1 个答案:

答案 0 :(得分:0)

如果您随后将next的值直接转储到模板或重定向到模板而不进行检查,那么这只是一个XSS攻击媒介。

对于重定向,Django的内置登录表单会检查您是否未重定向到其他主机 - 请参阅the code

对于脚本攻击,Django将始终自动调用任何代码,因此<script>将转换为&lt;script&gt;。您只需要确保不要关闭自动转换或将变量标记为安全。