V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dongbeta
V2EX  ›  问与答

自定义CSS的漏洞有没有成熟可靠的方法阻止?

  •  
  •   dongbeta · 2012-03-21 22:31:52 +08:00 · 3709 次点击
    这是一个创建于 4658 天前的主题,其中的信息可能已经有所发展或是发生改变。
    V2EX提供了自定义CSS,但是是只对自己生效。

    如果我的站点对每一个用户提供自定义CSS功能,任何人访问此用户的页面时都会输出此CSS,那么危险性有多大?

    如果不允许使用下面的字符或字符串呢?

    "<", ">", "javascript", "style"

    谢谢。
    6 条回复    1970-01-01 08:00:00 +08:00
    Hyperion
        1
    Hyperion  
       2012-03-21 22:50:56 +08:00
    用@import载入css的话, 应该不会有多大问题.
    dongbeta
        2
    dongbeta  
    OP
       2012-03-21 23:13:35 +08:00
    @Hyperion 也就是说我把用户提交的CSS在前台以文件的形式载入,就没问题了?
    fanzeyi
        3
    fanzeyi  
       2012-03-21 23:21:08 +08:00
    @dongbeta 比如实现一个 /api/get_userstyle.css 的接口 然后根据 cookie 之类的 返回 text/css 的用户自定义的 CSS 内容..

    然后再在这个页面 @import "/api/get_userstyle.css"; 之类的就ok了……
    dongbeta
        4
    dongbeta  
    OP
       2012-03-21 23:25:13 +08:00
    @fanzeyi 这个方式和我想的一样。但是如果真的这么简单的话,为啥能搜索到很多(比如“百度空间”)网站还是有CSS漏洞呢?
    fanzeyi
        5
    fanzeyi  
       2012-03-21 23:27:37 +08:00
    @dongbeta 好久没上过百度空间了 我记得当时百度空间的模板是整个模板都可以自定义吧…… ..
    Hyperion
        6
    Hyperion  
       2012-03-22 22:58:28 +08:00
    @dongbeta 就算能, 估计也都是通过url('javascript:')这种畸形属性实现的, ie6朝上的浏览器基本都已经不支持了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2850 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:20 · PVG 20:20 · LAX 04:20 · JFK 07:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.