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