admin管理员组文章数量:1794759
防盗链的原理以及实现
大家在访问网站的时候,经常会看到图片展示不出来的时候,如下图
大家有没有想过这是为什么嘛?其实这是一种简单的防盗链的处理,那么盗链是什么呢?为什么需要防呢?咱们今天来一起揭开它神秘的面纱。
盗链的概念盗链是指在自己的页面上展示一些并不在自己服务器上的一些内容, 获取别人的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容。 一般被盗链的都是图片、 音乐、视频、软件等资源。通过盗链的手段可以减轻自己服务器的负担
比如我直缩毛孔接在自己的网站上
<img src="http:www.baidu/imagepath/image.pn心理按摩g">这样就可以直接展示百度的图片,但是实际上是无法展示的(如下图),之所以无法展示是因为耽美女女百度的图片做过防盗链处理
防盗链的工作原理通过Refer或者签名,网站可以检测目标网页访问的来源网页,如果是资时尚编辑源文件,则可以追踪到显示他的网页鲅鱼圈海鲜自助地址 儿童手表一旦检测到来源不是本站,即进行hifi耳机阻止或者返回指定的页面
防盗链的实现方法Nginx模块, ngx_http_referer_module用于阻挡来源非法域名的请求 nginx指令valid_refers,全局变量$invalid_refer 对转正定级表资源的防盗链历险小奇兵nginx配置为
location ~.*\\.(gif|jpg|png|f印钞厂lv|swf|rar|zip)${ valid_referers none blocked test *.test; //加none的目的是确保浏览器可以直接访问资源 if($invalid_referer) { #return 403; // 直接返回403 rewrite ^/ www.test/403.jpg;//返回指定提示图片 }}对目录的防盗链nginx配置为
location /images/{ valid_referers none blocked test *.test; if($invali师团d_referer) { #return 403; rewrite ^/ www.test/403.jpg; }但是传统的防盗链也会存在一些问题,因为refer是可以伪造的, 所以可以使用加密签名的方式来解决这个问题。 什么是加密签名?就是当我们请求一个图片的时候,我要给他带一些签名过去,然后返回图片的时候我们判断下签名是否正确,相当于对一个暗号。
可以使用第三方模块H东流影院ttpAccessKeyModule来解决防盗链的问题,我们需要去网络黄牛安装。
安装好有这样一个指令:
accesskey on|off 模块开关
acces身材黄金比例skey_可爱可亲hashmethod md5 | sha-1 签名加密方式
accesskey_arg GET参数名称
accesskey_signature 加密规则
locatio金福南n ~.*\\.(gif|jpg|png|flv|swf|rar|zip)${ accesskey on; accesskey_hashmethod md5; acce如何制作ppt模板sskey_arg sign; accesskey_signature "mypass$remote_add丰田标志r";}意思是mypass加客户端ip通过md5加密 图片行业现状文件代码:
<?php$sign = md5('mypass' . $_SERVER['REMOTE_ADDR']);echo '<img src="./photo.jpg?sign='. $sign .'">';?>以上就是防盗链的两种形式,欢迎伙伴们进行讨论留言。民法案例分析
版权声明:本文标题:防盗链的原理以及实现 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686610811a85898.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论