javascript - 如何防止执行脚本但在 DOM 中显示它?

标签 javascript html security textarea

我有一个textarea在我的 html 和 button在底部。当按下按钮时我想添加 textarea 的内容在数据库和 JQuery 中,我想在 DOM 中显示它,但这很容易受到攻击,因为有人可能会这样写:

<script> some bad code here </script>

如何在插入 DOM 时阻止执行此代码并显示它而不是运行它(例如 facebook 插入帖子显示 <script> 标记并且不允许执行它)

这个漏洞是攻击textarea表单的唯一方法吗?

最佳答案

如果您通过这样的函数传递文本区域值会怎样:

var escapeTags = function(str) {
   return str.replace(/</g, '&lt;').replace(/>/g, '&gt;');
}

当然,这个最好是在服务器端做。

关于javascript - 如何防止执行脚本但在 DOM 中显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19830021/

相关文章:

php - 如何防止对短信账户验证的 DDoS 攻击

javascript - 热衷于通过鼠标获取 DOM 或 jQuery 元素?

使用 "this = "的 Javascript 函数给出 "Invalid left-hand side in assignment"

html - CSS 喜欢一些代码但不是全部?

html - 在 <BASE> 标签上下文中引用本地 ID(Firefox 上的 SVG)

javascript - 内容安全策略是否阻止书签?

javascript - 带有后退按钮的 Jquery 移动更改页面不起作用

javascript - ember.js .find() 仅在第二次调用时有效

css - 为什么当我改变这个div的高度时,它下面的div是 "overlaps"?

java - 应用被安全设置阻挡了