三招两式 解决图片盗链无法查看问题

时间:2021-10-03 03:32:55

几乎所有的图片防盗链功能,都是通过判断referer来实现的。通常的规则是,如果referer是本网站的那几个域的url或者referer为空时,则图片正常输出,否则给出一个出错图片。

知道原理了,问题就好解决了--就是伪造一个referer。例如请求一个网易相册图片的时候,总是伪装发送网易相册的referer,而不管实际的referer。

本文将介绍在Firefox,Opera,IE这三大浏览器中,遇到提示盗链的图片时,正常浏览该图片的方法。(点击查看图片盗链测试图)

(一)Firefox

Firefox下笔者发现了三种实现方法,本文选择其中两种介绍。

①改变设置法

在地址栏中输入"about:config",回车。然后在下面出现的过滤器一栏输入"network.http.sendRefererHeader",下面只剩了一条显示。

三招两式 解决图片盗链无法查看问题

图1

双击该条首选项,出现的对话框内,将整数的值由2改为0。刷新后就能看到图片。

三招两式 解决图片盗链无法查看问题

图2

介绍一下首选项各个整数值所代表的含义:

0--从不发送referer信息;

1--当点击超链接时发送referer信息;

2--当点击超链接或加载图片时发送referer信息。(默认值)

如果你采用第一种方法,由于所有发送referrer信息都会被组织,可能会造成一些网站不能正常使用,例如电子邮件站点,图片上传站点以及安全站点等。如果你采用这种方法,你必须不断地更改设置。因为有更为灵活,定制性更高的第二种方法,所以笔者介绍第一种方法让大家学习,并不推荐使用。

②安装扩展法

Firefox扩展RefControl能够实现浏览盗链图片,针对每个防止盗链的网站需要单独添加地址,但是它的好处就是,一次设置,永绝后患,不用像第一种方法那样再改来改去了。RefControl目前已经可以用正体中文显示,相信简体中文也会很快出现。

RefControl的安装页面:https://addons.mozilla.org/en-US/firefox/addon/953

安装扩展,重启Firefox后,打开"工具--RefControl选项",或者双击右下角工具栏图标。

三招两式 解决图片盗链无法查看问题

图3

弹出对话框后,点击"新增网站",弹出"RefControl网站属性"对话框。从下图可以了解到有"一般","*","伪装"和"自订"四种动作,及其含义。例如,盗链的图片来自网易相册,就在"网站"一栏中输入其地址"photo.163.com",并将动作设置为"伪装"。

三招两式 解决图片盗链无法查看问题

图4

确定保存后,刷新网页,图片立现!

补充其他几个常用的图片站点供参考:

album.sina.com.cn --新浪博客

photo.163.com --163相册

hiphotos.baidu.com --百度相册

更多站点,读者请自己分析。

(二)Opera

Opera中浏览盗链图片也很简单,原理当然和上文Firefox部分的一样。在"工具--快速参数"菜单中(或者直接按"F12"),将"允许进行引用者记录"的勾去除。

刷新,图片再次显现。

三招两式 解决图片盗链无法查看问题

图5

和Firefox的第一种方法大致相同的原因,笔者建议只在含有盗链图片的网页中禁止引用者记录,当浏览完成,请再改回原设置。

(三)IE

很遗憾,这个浏览器还不能实现该功能!不过,可以另辟蹊径,使用第三方工具,例如高级防火墙,来禁止referer的发送。

三招两式 解决图片盗链无法查看问题

图6

本文虽然介绍了浏览盗链图片的方法,但笔者不建议你引用防止盗链的图片,因为只有你能看到,而其他人是看不到的。