plantain
V2EX  ›  问与答

关于用户引用站外图片时(图片是 http,站是 https),下面几种策略怎么取舍?

  •  
  •   plantain · Jan 1, 2016 · 2786 views
    This topic created in 3878 days ago, the information mentioned may be changed or developed.
    1. 由于图片是被动内容,从图片攻击造成的影响较小,可以不处理,坏处就是 https 标志由绿色变成白色。 V2EX 目前好像就是这种策略。
    2. 后台下载图片到自己的服务器,然后替换成下载后的图片,可能的坏处是图片版权(?)。知乎目前好像就是这种策略。
    3. 图片代理,比如对于请求: https://abc.com/image?src=http://example.com/a.png 这样的形式,响应 http://example.com/a.png , nginx 好像就可以做到。
    8 replies    2016-01-01 18:48:34 +08:00
    naver1
        1
    naver1  
       Jan 1, 2016
    个人觉得 3 比较好,简单方便。但是 2 还可以防止外链图片失效。。。
    FrankFang128
        2
    FrankFang128  
       Jan 1, 2016
    JavaScript: replace http with https

    简单粗暴
    kslr
        3
    kslr  
       Jan 1, 2016
    这三种还要看业务敢不敢这么做
    plantain
        4
    plantain  
    OP
       Jan 1, 2016
    @FrankFang128 我刚才试了,如果原站不支持 https ,替换后是获取不到图片的。
    FrankFang128
        5
    FrankFang128  
       Jan 1, 2016
    @plantain 获取不到就获取不到嘛……本来就是不安全的内容
    jasontse
        6
    jasontse  
       Jan 1, 2016 via iPad
    3 是个漏洞不考虑
    v1024
        7
    v1024  
       Jan 1, 2016 via iPhone
    2 楼真逗……
    plantain
        8
    plantain  
    OP
       Jan 1, 2016
    @jasontse 那样直接请求的话确实是一个漏洞
    github issue 里图片的方式是 /abc/xyz 的形式,其中 abc 和 xyz 都很长的 16 进制数,可能是通过 abc 和 xyz 一一对应的方式(加盐 hash 或在数据库里映射)来防止直接请求的攻击的,都挺复杂的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2717 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 12:25 · PVG 20:25 · LAX 05:25 · JFK 08:25
    ♥ Do have faith in what you're doing.