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

2018-09-12 09:08:34 +08:00
 RiESA

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

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

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

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

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

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

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

1781 次点击
所在节点    全球工单系统
3 条回复
34C
2018-09-12 11:29:39 +08:00
读了好几遍没读明白什么意思,referer 本来就是指 http 请求中的 header 的 referer 属性啊
RiESA
2018-09-12 11:33:17 +08:00
@34C 我主要是希望实现第三方网站, 点击 xxx.com 或者 xxx.com/123 可以跳转到正常页面 ,但是如果是 xxx.com/123.jpg 提示盗链

可能提了个蠢问题吧
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 请求头,这样再试试看?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488397

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX