我的html中有一个textarea
,底部有一个button
。按下按钮时我想在数据库中添加textarea
的内容,我想用JQuery来显示它在DOM中但这很容易受到攻击,因为有人可能会这样写:
<script> some bad code here </script>
如何在DOM中插入并在显示它而不是运行它时阻止执行此代码(如显示<script>
标记的facebook插入帖子,并且不允许执行它)
这个漏洞是攻击textarea形式的唯一途径吗?
答案 0 :(得分:1)
如果通过类似这样的函数传递textarea值,该怎么办:
var escapeTags = function(str) {
return str.replace(/</g, '<').replace(/>/g, '>');
}
当然,最好是这个服务器端。
答案 1 :(得分:1)
首选方法是在jQuery中使用text
函数,因为这样可以在不调用Javascript解释器的情况下设置文本。
$("#txt_div").text("<script>alert('hello');</script>");