我有一个页面,它已被请求我允许一些用户通过CSS自定义.
我很高兴这样做,但我想弄清楚如何使其安全.没有很多样式表将应用于页面,但我原本以为如果我只是检查页面是css扩展名,那么我会安全.
但是,我所做的研究表明xss很容易通过css完成.但我还没有找到任何关于如何安全地包含用户生成的外部CSS的资源.
有没有人有这方面的建议或资源?
MySpace和其他一些网站一起设法做到这一点,但我看不出如何确保这是安全的.
我在外部css所在的页面上没有任何"安全"用户数据.但我确实为搜索获得了一些变量.
---------------- sliky的回应之后的其他数据----------------------
我不打算让每个用户都添加外部CSS.但是,css变量可以由特殊的合格用户设置,一旦该变量可用,基本上任何人都可以随意设置它.获取该变量的唯一方法是自己传播URL,所以也许我过分关注安全性,但我对此表示怀疑.
我可以设置它,以便页面不用外部样式表编制索引,但仍然关心如何维护最终用户的安全性.
我会在我的网站上有一个链接 http://mysite.com/page?useracct=12343&extcss=http://location/of/css.css
我设置了useracct,所以只有我允许启用不同css的用户才能为他们的页面创建链接.在我的网站上,我将使用css页面链接到该用户帐户.
所以有人不能随便说出 http://mysite.com/page?extcss=http://new/dangerous/css.css
但是,他们可以创建链接 http://mysite.com/page?useracct=12343&extcss=http://new/dangerous/css.css 有人进入该页面的唯一方法就是创建危险的那个人css转发了这个链接.
我想如果我对外接手进行散列和腌制,它可能更安全.也许那是最好的方式?