1

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

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

示例代码:

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

我已经阅读了官方 django 文档,但对保护 request.GET 和 META 方法并没有太多了解。 django 的安全文档。

4

1 回答 1

1

如果您随后将 的值next直接转储到模板或在不检查的情况下重定向到它,那只是一个 XSS 攻击向量。

对于重定向,Django 的内置登录表单会检查您没有重定向到不同的主机 - 请参阅代码

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

于 2012-08-01T08:20:22.293 回答