Django中XSS攻击就是跨站脚本攻击,就是利用HTML对页面进行恶意的标签渲染,从而达到攻击网站的效果,更严重的情况是直接获取用户信息,对网站造成巨大损失。
比如在评论中注入js代码<script>alert(123)</script>
,如果网站没有做XSS防护攻击,在显示这条评论的页面会执行js代码,如果网站做了XSS攻击防护,会显示成字符串
只不过Django自动帮我们做了这个防护功能,我们可以不必刻意做这些保护,但是对于开发者而言,在调用或者解除这些限制的时候要注意,不要留下漏洞。
解除限制很简单,有两种方式。
一,在前端模板语言中实现,只须用到帮助函数safe.如:
{{ str|safe }}
二,在后端views中实现:
from django.utils.safestring import mark_safe
str = mark_safe(str)
以上这些在T部分总结也提到过