HTML 对尖括号、&、换行符和引号进行编码是否足以防止 XSS?
Is HTML encoding angle brackets, &, newline, and quotes enough to prevent XSS?
我正在创建一个网站,并且我有一个部分,用户可以在其中通过表单提供输入。使用以下方法对输入进行清理:
str.replace(/[\x26\x0A<>'"]/g,function(r){return"&#"+r.charCodeAt(0)+";"})
之后,数据放在<p>
标签之间。所以像这样:
<p id="foo">Random message</p>
我的替换函数是否足以防止 XSS 攻击?
这基本上是 Can I escape html special chars in javascript? 的重复。是的,您的代码可能是安全的,它的作用与那里接受的答案相同。
我正在创建一个网站,并且我有一个部分,用户可以在其中通过表单提供输入。使用以下方法对输入进行清理:
str.replace(/[\x26\x0A<>'"]/g,function(r){return"&#"+r.charCodeAt(0)+";"})
之后,数据放在<p>
标签之间。所以像这样:
<p id="foo">Random message</p>
我的替换函数是否足以防止 XSS 攻击?
这基本上是 Can I escape html special chars in javascript? 的重复。是的,您的代码可能是安全的,它的作用与那里接受的答案相同。