【发布时间】:2019-07-27 23:01:08
【问题描述】:
这可能是一个奇怪的查询,
作为页面上 JavaScript 组件的一部分,我显示了从 WordPress 中提取的几篇博客文章的标题。 WP 网站由营销团队维护。有时他们在标题中使用在 WP 网站上呈现良好但在抓取过程中被编码的字符(特别是 & ' 和 - )。尽管数据来自受信任的来源,但我们需要维护某种形式的编码以帮助防止 XSS,但我们也希望看到这些字符正确呈现。 JavaScript 函数 decodeURIComponent() 可以很好地呈现字符,但不幸的是,从安全角度来看,我们是开放的。
以前有人遇到过这种问题吗?任何有关图书馆或解决此问题的方法的建议将不胜感激。
我们需要使用的输入类型示例如下:
NN – Web – Site – Test Article & stuff ’ & –
【问题讨论】:
-
从安全角度来看,它让您保持开放是什么意思?
-
不转义特殊字符会导致潜在的 XSS 漏洞。因此,例如,如果我们的一位营销同事不小心写了一篇题为
NN Test Post 4 – 5th December <script>alert('Ahhhh!');</script>的帖子,这将执行 -
您尝试了哪些代码来解决这个非常常见的问题?顺便说一句,不需要任何库,但一小段代码示例将有很大帮助。
-
您的示例的问题在于它应该并且确实可以正确渲染,因此它不是问题的示例。 -> jsfiddle.net/27mjLvda
-
@Jonny 当您收到标题为 "NN 测试帖子 12 月 4 日至 5 日 "?从您的帖子看来,它已经正确显示了标题(特殊字符已正确转义),那么您还想发生什么?
标签: javascript html wordpress xss unicode-escapes