【问题标题】:aurelia: properly sanitizing innerHTML-bound dataaurelia:正确清理内部 HTML 绑定数据
【发布时间】:2018-03-20 12:44:59
【问题描述】:

我非常清楚我可以使用以下方法清理内部 HTML 绑定的数据:

<div innerhtml.bind="someData | sanitizeHTML"></div>

但是,根据我的观察,这种清理只删除了&lt;script&gt; 标签。它不会保护用户免受事件驱动的内容的影响,例如:

"Hi! I am some HTML-formatted data from the server! <button onclick="getRekt();">Click me for butterflies!</button>"

有没有更好的方法来防止在元素上呈现任何类型的 javascript 或事件回调?

【问题讨论】:

    标签: aurelia sanitization aurelia-templating


    【解决方案1】:

    sanatizeHTML 值转换器是一个非常简单的清理程序,只删除脚本标签。见代码here

    您可以使用更复杂的消毒剂创建自己的价值转换器。查看this answer 了解有关如何在浏览器中清理 html 的更多详细信息。

    但不要忘记永远不要信任浏览器,如果可以的话,最好先在服务器端清理 html,然后再将其发送到浏览器显示。

    【讨论】:

    • 感谢您为我指明正确的方向!服务器实际上进行了清理,我只是想要一个客户端清理器来获得更简单的安全性。
    • 哇,那个消毒剂比什么都没有还危险。
    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 2015-08-07
    • 2011-04-11
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多