我需要为我的网络应用程序的用户创建的网页实现一个灵活的样式系统。
理想情况下,我想让他们使用 CSS。在用户定义的 url 链接到样式表是坏主意吗? 为什么?是否可以安全地执行此操作?
您对此的处理方法是什么?我试图避免构建样式“编辑器”。虽然使用现成的可能是一种选择,但有什么建议吗?
最佳答案
Is it possible to do this safely?
取决于您如何定义“安全”。外部样式表可能会使事情看起来很丑陋,或者与网站上现有的控制元素一起玩恶作剧。您将无法阻止它,因为它无法检测到。 Here很好地概述了人们可以用这种方式做的恶意事情。
此外,很明显,CSS 可以通过设置 background-image
或类似内容来触发对任何类型 URL 的请求。如果 URL 不是有效的图像资源,浏览器会注意到,但请求总是会发生。这样一来,可能会引发密码提示,网站用户可能会将其误认为是他自己的登录提示。
我不知道有任何脚本 通过 CSS 进行攻击,尽管我很确定 IE's behavior
可能是一个。我肯定会去掉那些。
有一个related question on Stack Overflow但已接受的答案中指出的所有漏洞均不适用于纯外部样式表。
关于css - 是否可以通过样式表进行跨域攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606783/