您的位置:首页 > 运维架构 > 网站架构

网站盗链

2015-08-31 19:19 573 查看

1、为什么会产生盗链

在浏览网页时,一个完整的页面并不是一次全部传送到客户端的。如果请求的是一个带有许多图片和其他信息的页面,那么最先的一个http请求被传送回来的是这个页面的文本,然后客户端的浏览器对这段文本解释执行,发现其中还有图片,那么客户端的浏览器会再次发送http请求,当这个请求被处理后,请求的图片会被传送到客户端,然后浏览器会把这个图片放到正确的位置,就这样一个完整的页面也许要发送多个http请求才能够被完整的显示。基于这样的机制,就会产生一个问题:一个网站中如果没有起始页面中所说的信息,例如图片资源,那么它完全可以将这个图片连接到别的网站。这样的话没有任何资源的网站就可以使用其他网站的资源来展示给浏览者,提高自己的访问量,而大部分浏览者又不会很容易发现。显然,对于那个被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充站点内容,经常盗链其他网站的内容。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。

2、如何防盗链

要实现盗链,我们就必须先理解盗链的实现原理,提到盗链的实现原理就要从http协议说起。在http协议中,有一个表头字段叫referer,采用URL的格式来表明从哪链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。

如果想对自己的网站进行防盗链接保护,则需要针对不同的情况进行区别对待。如果网站服务器用的是apache,那么使用apache自带的URLRewrite功能可以很轻松的防止各种盗链,其原理是检查referer,如果referer的信息来自其他网站则重定向到指定图片或网页上。

如果服务器使用的是IIS的话,则需要通过第三方插件来实现盗链功能了,现在比较常用的一款产品叫做ISAPI_Rewrite,可以实现类似于apache的防盗链功能。另外对论坛来说还可以使用”登录验证”的方法进行防盗链。如果是资源下载的网站,在下载页面提供图片验证码,也可以有效的防止盗链。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: