模板渲染成标签还是原封不动的字符串 标签(for,for ... empty,if,with,csrf_token)
模板渲染成标签还是原封不动的字符串:
xss攻击:是什么,如何预防?django已经处理了xss攻击,它的处理原理是什么
XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web应用程序中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进行处理,直接将用户输入输出到浏览器,然后浏览器将会执行用户注入的脚本。
from django.utils.safestring import mark_safe link1 = '<a href="https://www.baidu.com">点我<a>' link2 = mark_safe(link1) {link1|safe}
防御:(这里只说最简单的)
其恶意脚本都是来自用户的输入。因此,可以使用过滤用户输入的方法对恶意脚本进行过滤。
1、获取用户输入,不用.innerHTML,用innerText。 2、对用户输入进行过滤,如 HTMLEncode 函数实现应该至少进行 & < > " ' / 等符号转义成 & < > " ' /;
标签:
1 {% 标签名 %}
输入for 再tab一下自动补全
2 标签for ,在标签for的内部一直有一个forloop对象,是个字典
counter0:从0开始,每循环一次加1
counter:从1开始,每循环一次加1
revcounter:从列表长度开始,每循环一次减一
first:判断是不是循环的第一个
last:判断是不是循环的最后一个
parentloop:父级forloop对象(for循环嵌套)
{'parentloop': {}, 'counter0': 0, 'counter': 1, 'revcounter': 6, 'revcounter0': 5, 'first': True, 'last': False}
3 if标签
4 with标签(了解)
5 csrf标签(了解)
浙公网安备 33010602011771号