使用request获取请求参数时。GET或使用请求。META用于获取HTTP_REFERER,我可以在django中实现什么类型的安全检查以获得额外的安全性。
特别是,我正在寻找XSS(跨站点脚本)的安全检查,因为我的一位同事指出,有些人可以在这里进行XSS攻击。
示例代码:
next = request.GET.get('next','')
if next:
do something
我浏览了django的官方文档,但没有得到太多关于确保请求安全的信息。GET和META方法。django的安全文档。
如果将next
的值直接转储到模板或重定向到模板而不进行检查,则这只是XSS攻击向量。
对于重定向,Django内置的登录表单会检查您是否重定向到其他主机——请参阅代码。
对于脚本攻击,Django将始终自动转义任何代码,因此<script>
将转换为<script>
。您只需要确保没有关闭自动转义或将变量标记为安全。