不仅仅在外站引用资源文件触发
就连在别的网站上的外链,并非直接指向资源文件,也会触发防盗链
就好像在页面中的 https://www.v2ex.com 这种,在别人的页面中点击也会跳转到盗链提示
可能是因为 index.php 也被包括在文件资源里面了?
后台只能设置域名的黑白名单
无法针对这方面做出调整,也无法过滤文件后缀
总不能为防盗链,就放弃了页面跳转吧?
1
34C 2018-09-12 11:29:39 +08:00 via iPhone 1
读了好几遍没读明白什么意思,referer 本来就是指 http 请求中的 header 的 referer 属性啊
|
2
RiESA OP |
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 请求头,这样再试试看? |