我需要为我的Web应用程序的用户创建的网页实现灵活的样式系统.
理想情况下,我想允许他们使用CSS.链接到用户定义的url样式表是一个坏主意吗?为什么?有可能安全地做到这一点吗?
你对此有何看法?我试图避免建立一个风格’编辑’.虽然使用现成的一个可能是一个选择,建议?
解决方法
Is it possible to do this safely?
取决于你如何定义“安全”.外部样式表可能会使事物看起来很丑陋,或者使用网站上现有的控制元素来玩恶作剧.你将无法阻止它,因为它无法被发现. Here是一个可以用这种方式做的恶意事件的很好的概述.
此外,显然,CSS可以通过设置背景图像或类似内容来触发对任何类型URL的请求.浏览器会注意到URL是否不是有效的图像资源,但请求将始终发生.通过这种方式,可能会引发密码提示,表明该网站的用户可能会误认为他自己的登录提示.
我不知道任何脚本攻击向量通过CSS,虽然我很确定IE’s behavior
可能是一个.我肯定会删除那些.
有一个related question on Stack Overflow但是在接受的答案中指出的漏洞都没有与纯外部样式表一起使用.