dongbeta
V2EX  ›  问与答

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

  •  
  •   dongbeta · Mar 21, 2012 · 4321 views
    This topic created in 5164 days ago, the information mentioned may be changed or developed.
    V2EX提供了自定义CSS,但是是只对自己生效。

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

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

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

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

    然后再在这个页面 @import "/api/get_userstyle.css"; 之类的就ok了……
    dongbeta
        4
    dongbeta  
    OP
       Mar 21, 2012
    @fanzeyi 这个方式和我想的一样。但是如果真的这么简单的话,为啥能搜索到很多(比如“百度空间”)网站还是有CSS漏洞呢?
    fanzeyi
        5
    fanzeyi  
       Mar 21, 2012
    @dongbeta 好久没上过百度空间了 我记得当时百度空间的模板是整个模板都可以自定义吧…… ..
    Hyperion
        6
    Hyperion  
       Mar 22, 2012
    @dongbeta 就算能, 估计也都是通过url('javascript:')这种畸形属性实现的, ie6朝上的浏览器基本都已经不支持了.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 22:55 · PVG 06:55 · LAX 15:55 · JFK 18:55
    ♥ Do have faith in what you're doing.