html url 转义字符

在日常工作写模板的时候最长遇到的问题就是xss和字符转义


HTML 字符转义

html是一种类xml,xml有自己的格式

<div id="a">

     xxxx<span>xxxx</span>

</div>

在模板中做字符转义的目标就是不打乱xml这种格式,具体的做法:不能出现“ " ' < > & ”这几个字符,这个就是模板引擎encode做的工作

同时会带来意外的好处:XSS被顺带解决了,没有尖括号,<script>就不会出现,没有引号,onclick也不会出现


例外,在<script>标签后边 有且只有遇到</script>才会结束  所以可以在里边写任何字符


URL 字符转义

当我们需要拼一个a标签的href的时候可能会用到URL字符转义(同时也需要做HTML转义 ,因为大环境还是html文本里)

URL也有自己的格式

xxxx?aaa=bbb&cc

我们也要注意不打乱URL的格式,在js 中有俩个方法:encodeURL,encodeURLcompent,

encodeURL是转义在url上的非queryString的部分 即问号以前的部分

encodeURLcompent是转义在queryString 也就是键值对的(aaa ,bbb,cc)(用的比较多)





你可能感兴趣的:(转义字符)