我有一个跨度,我在里面有这个文字:
/><textarea>
然后我尝试通过用textarea替换其中的内容并在其文本中添加来编辑span的文本。
然后,当我尝试取消编辑并删除textarea然后将数据返回到跨度时,会出现:
/&GT;和附近的文本区。
这是错误的。
我正试图避免因xss攻击而导致此类事情。
如果我尝试在span中添加此代码:
';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>
测试xss是否正常工作...我不会收到任何错误,因为我在刷新页面时使用了htmlentities ...
所以我使用点击按钮,textarea出现在里面...这里很好但是当我取消它所以我可以看到消息回来,因为它在跨度内... XSS警报弹出... < / p>
关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
只需使用文本节点。 (document.createTextNode(text here)
创建它,然后appendChild
就像任何其他节点一样)
答案 1 :(得分:0)
我只需要替换html(),然后使用text()填充带有文本的范围。