function replaceStr(a) {
a = a.replace(/(<br[^>]*>| |\s*)/g, '')
.replace(/\&/g,"&")
.replace(/\"/g,""")
.replace(/\'/g,"'")
.replace(/\</g,"<")
.replace(/\>/g,">");
return a;
本示例中是通过 form 表单进行提交的,所以在 form 表单提交前,对表单属性的值进行了 replace。同样,通过常规的 ajax 请求,也可以在提交请求前,对参数的 value 进行 replace 再提交。
再次执行 1.1 中的添加角色步骤,查看页面效果和数据库存储情况。
经过特殊符号替换后,页面显示正常,没有弹框、数据错位等问题

查看此时数据库中存储的数据:
数据库中存储的是经过转义过后的特殊字符,这样当数据在页面上显示的时候,就不会出现 js 注入的问题

所以,web 开发中,对于用户可以自由输入的地方,一定要做校验和处理,因为你不知道你的用户是不是也懂一点 JavaScript。