大家都知道:百度、腾讯QQ、网易相册的图片不能盗链,也就是说不能在非图片所在地以外的地方使用。其实这东西是有方法 可以破解的。
一:防盗链实现的方法
原理:服务器对请求头的信息(reference)字段进行判断,如果是来自本站,则通过请求,不是,则导向错误页面。
Apache下的配置:
防止文件盗链目标与要求
-
统一在网站根目录下的 .htaccess 设置
:虽然理论上而言,在Apache中,可以针对每个目录分别
设置 .htaccess ,通过权限的继承与覆盖可以实现相当复杂的功能。不过,过多的 .htaccess
往往会增加管理的难度,有时候百密难免有一疏,修改 .htaccess 稍有遗漏便可能造成网站出现问题。
-
默认情况下禁止其他网站盗链
:对图片文件而言,当其他网站使用 <img
src=’http://yoursite.com/someimg’>
盗链时自动重定向至类似右图所示的图片,声明版权及宣传您的网站。当然,从降低对服务器带宽占用的角度考虑,这个图片文件不能过大,您也可以简单地拒绝其
访问,让其网页上图片位置以红“x”号代替。
-
允许特定访问来源
:单纯针对图片文件来说,事实上也不可能禁止所有除您自身网站之外的其他访问,比如说
Google,如果您希望通过Google图片搜索获得一定访问的话,必须让其能够正确读取真正的图片文件,再如应能够让RSS订阅用户看到feed中的
图片,这就要求允许来自bloglines等的访问。
-
允许特定目录下的文件被外部网站使用
:完全禁止外部网站有时会带来不便,很多时候,我们自己也可能需要在外部
网站使用部分文件。当然,放入这些目录的文件要有一定限制,不然,便失去设置防盗链的意义了。
设置 .htaccess 禁止图片盗链
下面即为博客学堂禁止图片盗链的 .htaccess 设置部分:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(allow1|allow2)
RewriteRule ^.*$ - [L]
首先,设置允许可“盗链”即外部网站可以使用的文件所处目录,上面我们设置了两个目录,分别为allow1与allow2,当然,如果您只有一个目
录的话,可以将其改为:
RewriteCond %{REQUEST_URI} ^/allow1
接下来判断是否为图片文件:
RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png)$
[NC]
您也可以根据自己的需要设置更多的文件类型。
RewriteCond %{HTTP_REFERER} !^$
上面这一行意在允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,
不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
RewriteCond %{HTTP_REFERER} !blogsdiy\.org [NC]
RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner\.com [NC]
设置允许访问的HTTP来源,包括博客学堂自身、Google、Baidu、Bloglines、Feedburner等。
RewriteRule (.*) /allow1/leech.gif [R,NC,L]
将不满足上述条件的访问重定向至leech.gif。您可能已经注意到,leech.gif位于允许“盗链”的目录allow1下,这一点很重要,
不然,您的警告信息图片将无法在对方网站上显示。
如此,即实现了我们预先设定的防止图片盗链目标。
其他类型文件的防盗链设定
如果您的网站上存在其他类似体积较大较耗费带宽的文件如flash、mp3被其他网站盗链,可以同样采取上述策略,比如说,对Flash文件,可用
类似如下的设置:
RewriteCond %{REQUEST_URI} ^/allow1
RewriteRule ^.*$ - [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} \.swf$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !blogsdiy\.org [NC]
(……其他允许访问来源)
RewriteRule (.*) /allow1/leech.swf [R,NC,L]
当然,需要事先创建一个声明版权信息的flash文件“leech.swf”。其他诸如防止mp3文件、压缩文件(zip或rar)盗链的设置与此
类似,不再赘述。
二. 防盗链的破解
原理:自己去构造一个请求,把引用来源地址变成空(或网站自己的)
如:http://localhost:8080/tgetPic?url=
http://img.bimg.126.net/photo/izb-C6T-_MLtkti2ZrYjEQ==/5392216128846265567.jpg
可以自己去实现一个,-_-
分享到:
相关推荐
在互联网上,图片防盗链是一种常见的保护措施,用于防止他人未经许可直接引用网站上的图片资源。这导致了图片采集过程中可能会遇到图片无法显示的问题。本文将深入探讨如何使用PHP来破解防盗链,以便在采集图片时能...
#### 一、图片防盗链机制的理解与原理 1. **防盗链的概念**:防盗链(Hotlink Protection)是指网站为了防止其他站点未经允许直接链接自己的资源(如图片、视频等),采取的一种技术手段,用以避免资源被非法使用...
可以破解任何网站的图片防盗链,极简的代码,使用时只需将图片地址改成http://你的网址/i.asp?url=图片原地址,即可调用任何网站的图片。
防盗链的概念是指在自己的服务器上,通过技术手段将其他网站的内容(比如一些音乐、图片、软件的下载地址)放置在自己的网站中,通过这种方法盗取其他网站的空间和流量。防盗链是一种不道德的行为,会对原网站造成很...
这个"Java爬虫小例子"项目展示了如何利用Java来爬取小型网站,特别是那些有防盗链保护的图片资源。防盗链是网站为了防止其他网站直接引用其服务器上的资源而采取的一种防护措施。下面我们将深入探讨相关的知识点。 ...
需要注意的是,这种防盗链破解方法可能引发版权问题和法律风险,因为它可能被用于非法获取和展示他人的图片资源。在使用类似技术时,应确保遵循合法、合规的原则,尊重他人的知识产权。 总结:这个压缩包提供的PHP...
通过了解防盗链的原理和PHP实现图片防盗链破解的实例,可以加深对网络安全和资源保护策略的理解。对于网站开发者来说,了解并掌握如何正确地实施和破解防盗链措施,有助于提高网站资源的保护能力,同时也需要认识到...
微信图片防盗链问题源于微信对自身内容保护的措施,它限制了外部网站直接引用微信服务器上的图片资源。当用户尝试在非微信环境中分享或转载微信文章中的图片时,这些图片通常无法正常显示。为了解决这个问题,我们...
将不能外链的图片地址改成http://你的域名/showimg.php?p=图片地址 showpic.asp使用方法 使用方法:将文件保存成i...url=图片地址 //www.lenovopc.com.cn提供 演示:http://shop.lenovopc.com.cn/article-61.html
通过分析这些代码,可以学习到如何实现图片爬取和防盗链破解的具体步骤和技术。 总之,这个话题涵盖了网络爬虫技术,特别是针对搜索引擎图片的抓取,以及在ASP.NET环境中如何应对图片防盗链的问题。对于想要深入...
首先,了解图片防盗链的原理是关键。几乎所有网站的防盗链功能都是通过检查HTTP请求中的头部信息来实现的,特别是"referer"字段。当图片的HTTP请求中包含正确的"referer"信息时,网站服务器认为请求来自本网站域内,...
这是一个不错的破解图片盗链JS。利用html就可以破解盗链。
一般情况下,当用户通过浏览器正常访问网站时,浏览器会自动发送Referer头部信息,但当网站有防盗链策略时,如果请求的来源不是网站自己的网页,服务器可能会拒绝提供资源,导致图片或其他资源显示失败。 然而,...
本篇文章主要破解referer防盗链技术 referer防盗链技术: referer防盗链技术是服务器通过检查客户端提起的请求包内的referer字段来阻止图片下载的,如果referer字段错误,服务器会跳到另一个地址,这将导致错误的...
伪造referer实例代码,主要用于一些突破防盗链,比如图片,软件等等 这里就直接给出完整的程序吧,具体的应用可以自己修改。 我这里给出的例子是很简单的,其实可以从这个例子中发展出很多的应用。比如隐藏真实的URL...
因此,“破解图片反盗链”实际上是指绕过这种限制,使得图片能够在非预期的网站上正常显示。 对于ASP语言,`#ASP说明.txt`可能包含了解决方案。在ASP中,可以通过修改HTTP头信息来伪造Referer,使其看起来像是来自...
这个"php 破解防盗链图片函数"实际上是一个反防盗链的解决方案,它允许你通过修改代码来访问其他网站上的图片,尽管这些图片可能被原网站设置了防盗链策略。 首先,我们分析一下提供的代码: 1. **获取图片URL**:...