V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
RiESA
V2EX  ›  全球工单系统

又拍云的 Referer 启用之后,连正常页面跳转都会触发防盗链

  •  
  •   RiESA · 2018-09-12 09:08:34 +08:00 · 1909 次点击
    这是一个创建于 2268 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不仅仅在外站引用资源文件触发

    就连在别的网站上的外链,并非直接指向资源文件,也会触发防盗链

    就好像在页面中的 https://www.v2ex.com 这种,在别人的页面中点击也会跳转到盗链提示

    可能是因为 index.php 也被包括在文件资源里面了?

    后台只能设置域名的黑白名单

    无法针对这方面做出调整,也无法过滤文件后缀

    总不能为防盗链,就放弃了页面跳转吧?

    34C
        1
    34C  
       2018-09-12 11:29:39 +08:00 via iPhone   ❤️ 1
    读了好几遍没读明白什么意思,referer 本来就是指 http 请求中的 header 的 referer 属性啊
    RiESA
        2
    RiESA  
    OP
       2018-09-12 11:33:17 +08:00
    @34C 我主要是希望实现第三方网站, 点击 xxx.com 或者 xxx.com/123 可以跳转到正常页面 ,但是如果是 xxx.com/123.jpg 提示盗链

    可能提了个蠢问题吧
    zhanghb
        3
    zhanghb  
       2018-09-12 13:17:50 +08:00
    Referer 防盗链是会看当次请求的时候,请求头里面的 Referer 字段,是否属于设置的白名单或者黑名单。比如:

    ```
    ....
    cache-control: no-cache
    cookie:...
    pragma: no-cache
    referer: https://www.v2ex.com/signin
    upgrade-insecure-requests: 1
    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36
    ```
    所以 Referer 如果在白名单,那就返回正常内容;不在白名单,那就返回 403。

    从别的站点点击友链到你的站点,referer 肯定就是别人的域名了。所以只靠 referer 防盗链起不了你想要的作用了。要实现你说的区分能力,得搭配一下又拍云的『边缘规则』,对指定的请求地址,在发起请求的时候删掉 referer 请求头,这样再试试看?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:56 · PVG 05:56 · LAX 13:56 · JFK 16:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.