我想在页面中显示用户提供的 html。我的页面几乎是完全动态的(JS 代码),我想知道是否有一种简单的方法来清理它?
就像,也许我可以删除所有<script>
和<iframe>
标签并取消绑定字符串中包含的所有事件(或删除任何以'on'开头的html属性),以便不执行任何可能执行的字符串中的javascript代码?
用户可以在样式属性中插入带有 css 'content' 属性的 javascript 吗?
jquery$(...).text(...)
函数对我没有帮助,因为我想保留任何 html 标记或 css 样式。
如果没有简单的解决方案,我已经准备好接受 html 标签的白名单(table
span
div
img
a
b
u
i
strong
...),但我也不想将属性列入白名单。