原理
http 协议中,如果从一个网页跳到另一个网页,http 头字段里面会带个 Referer。图片服务器通过检测 Referer 是否来自规定域名,来进行防盗链。
实现方式
reference
使用apache文件FileMatch限制,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录)
1 | SetEnvIfNoCase Referer "^http://kuaishou.com/" local_ref=1 |
rewrite
后台代码中拦截
php:
1 | $referer = $_SERVER['HTTP_REFERER']; //HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。 |
nginx防盗链
1 | location ~* \.(gif|jpg|png|bmp)$ { |
临时地址
客户端token,请求得到临时地址;
token关联客户端ip,请求中加入用户ip,地址带上用户地址;
签名才是真实地址;
临时地址生成策略;怎么跟视频地址关联;
使用POST请求
增加盗链难度
时间戳+中心鉴权
时间戳,过期失效
实例
参考
- 本文作者: Linking
- 本文链接: https://linking.fun/2019/08/06/防盗链/
- 版权声明: 版权所有,转载请注明出处!