【发布时间】:2014-01-19 15:59:00
【问题描述】:
我们允许用户使用 TinyMCE 创建丰富的内容,其中包括 Javascript 和 CSS。 但是,当内容到达服务器 (Java) 时,我们希望过滤掉所有 XSS 代码或潜在的恶意代码,例如 document.cookie、eval 等,无论它们是在 CSS、内联 JS、使用字符串文本制作的 XSS Javascript (例如 document.write) 等其他一切,例如。在鼠标悬停时更改颜色,在 CSS 上设置渐变等都很好。
我们希望为用户提供灵活性,但同时我们希望确保用户的安全。我们研究了 HTML Purifier、jSoup 等库,但它们似乎不够聪明,无法将潜在的恶意 JS 与安全的 JS 区分开来。 我们想知道是否有任何方法可以做到这一点?
谢谢。
【问题讨论】:
-
确保您确实需要 JS 来实现“丰富的内容”。如今,CSS 本身可以让你走得很远,而放弃 JS 将使整个事情的制作成本更低。
-
鼠标悬停在图像上的东西会显示放大的图片,即。预览,很受欢迎。我怀疑只有 CSS 能做到这一点
-
当然可以,起点是codepen.io/anon/pen/ajsyi。我相信您可以使用 JS 做更多事情,但代表您的网站运行不受信任的代码是一个非常有问题的替代方案。
-
没错,用户的灵活性也很重要,但更糟糕的情况是我们只使用 CSS,就像你说的那样。或者更糟糕的是,我们只允许 HTML.THanks
标签: java javascript html css xss