【发布时间】:2011-12-15 13:17:53
【问题描述】:
我最近插入PageDown 来过滤来自文本区域的一些 HTML 输入,我注意到它会删除“样式”元素。
我只是想知道为什么这些被认为是不安全的?
【问题讨论】:
-
我也想知道这个。 Gmail 从 html 电子邮件中去除样式块,我认为这是出于安全原因,但我不知道为什么。
-
样式元素不应该在 html 正文中,只能在头部。这可能是原因吗?
-
IE 5、6 和 7 支持允许执行任意 javascript 的“表达式:”关键字。让它通过,你就有了一个存储的跨站点脚本漏洞。 dionyziz.com/Joy_XSS#A_word_on_expression.28.29
-
@Cheekysoft 虽然
expression:关键字很危险,但阻止<style>标签并不能保护您免受此漏洞的影响。为了防止这种情况,您还需要阻止所有 HTML 元素的style属性,或手动过滤内联 CSS 属性。或者如您的链接所述,阻止 all 用户输入的 HTML。