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