【发布时间】:2011-03-15 13:44:09
【问题描述】:
我想允许用户在我的论坛上为他们的个人资料使用他们自己的样式表,但我担心可能存在安全漏洞。有人对清理 CSS 有什么建议吗?
基本流程:用户在表单中输入 CSS -> 保存到数据库 -> 输出为内联 CSS
【问题讨论】:
-
除了 IE 允许的非标准
behavior属性和expressions(两者都启动 javascript),我看不出 css 是如何导致任何“安全漏洞”的。因此,如果您过滤掉(或不允许输入)这些内容,我认为您会没事的。 -
moz 绑定。
javascript:接受url()的所有内容中的 URL。布局黑客将其他内容放置在登录表单的顶部,@import以引入未经检查的外部文件,作者稍后可能会破坏该文件。 CSS 并不是那么安全。 -
感谢 bobince,我不知道其中的一些危险。
-
来自sk89q.com/2009/08/definitive-php-security-checklist * 请注意,某些 CSS 属性(例如“位置”)可能会被恶意使用(覆盖登录表单的元素等)。 * CSS 还可以在字符串内部和外部包含转义序列 (\34)。 * CSS 文件可以包含 JavaScript。这表现为“CSS 表达式”和“行为”(Internet Explorer 功能)或 Gecko“绑定”的形式。
-
您的问题解决了吗?
标签: php css sanitization