在使用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.
答案 0 :(得分:0)
如果您随后将next
的值直接转储到模板或重定向到模板而不进行检查,那么这只是一个XSS攻击媒介。
对于重定向,Django的内置登录表单会检查您是否未重定向到其他主机 - 请参阅the code。
对于脚本攻击,Django将始终自动调用任何代码,因此<script>
将转换为<script>
。您只需要确保不要关闭自动转换或将变量标记为安全。