在日常工作写模板的时候最长遇到的问题就是xss和字符转义
HTML 字符转义
html是一种类xml,xml有自己的格式
xxxxxxxx
在模板中做字符转义的目标就是不打乱xml这种格式,具体的做法:不能出现“ " ' < > & ”这几个字符,这个就是模板引擎encode做的工作
同时会带来意外的好处:XSS被顺带解决了,没有尖括号,
例外,在才会结束 所以可以在里边写任何字符
URL 字符转义
当我们需要拼一个a标签的href的时候可能会用到URL字符转义(同时也需要做HTML转义 ,因为大环境还是html文本里)
URL也有自己的格式
xxxx?aaa=bbb&cc
我们也要注意不打乱URL的格式,在js 中有俩个方法:encodeURL,encodeURLcompent,
encodeURL是转义在url上的非queryString的部分 即问号以前的部分
encodeURLcompent是转义在queryString 也就是键值对的(aaa ,bbb,cc)(用的比较多)