现在做网站,都会遇到盗链的问题,包括图片盗链、音乐或视频文件(如mp3、Flash等)盗链.相信很多朋友都曾遇到过网站内文件特别是图片被盗链的情况烦。所谓盗链,是指对方网站直接链接您网站上的文件,而不是将其置于自己的服务器上,一般而言,盗链的对象大多为较耗带宽的大体积文件,如图片、视频等,从某种意义上说,这事实上造成了让您为其访问流量买单:不仅您的服务器带宽被无任何回报地占用,而且,往往会在很大程序上影响您网站的访问速度。 下面我们就以图片为例子来说明这个.我们要实现的是不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的发布者(图片源网站) 设置 .htaccess 禁止图片盗链 RewriteEngine on 打开重写url RewriteCond %{REQUEST_URI} !^/allow/.*$ 排除的url.这个相当的重要,因为后面的referer过滤时会过滤这些.所以打开这个可以"盗链",这样才能让用户正确的显示出错的网站. RewriteCond %{REQUEST_FILENAME} .(gif|jpeg|png|jpg)$ [NC] 以上为判断是否为图片文件:您也可以根据自己的需要设置更多的文件类型。也可以是exe之类 RewriteCond %{HTTP_REFERER} !^$ 上面这一行意在允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。建议,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如直接在url地址栏中输入地址 RewriteCond %{HTTP_REFERER} !php-oa.org [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] 设置允许访问的HTTP来源,包括网站自身、Google、Baidu、等。 RewriteRule (.*) /allow/error.gif [R=,NC,L] 将不满足referer条件的访问重定向至error.gif。有没有发现error.gif位于允许“盗链”的目录allow中,要相当注意,不然,警告信息和图片将无法在对方网站上显示。 如上,就实现了我们要的功能。不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的发布者(图片源网站) 其他类型文件的防盗链设定 如果您的网站上存在其他类似体积较大较耗费带宽的文件如flash、mp3被其他网站盗链,可以同样采取上述策略,比如说,对Flash文件,可用类似如下的设置: RewriteCond %{REQUEST_URI} ^/allow RewriteCond %{REQUEST_FILENAME} .swf$ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !php-oa.org [NC] RewriteRule (.*) /allow/error.swf [R=,NC,L] 当然,需要事先有声明版权信息的flash文件“error.swf”。其他如mp3文件、压缩文件(zip或rar)盗链的设置和这个一样。
推荐整理分享apache Rewrite防盗链设置方法(防盗信息),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javaweb防盗链,iis防盗链,http防盗链,iis防盗链,防盗文件,url防盗,url防盗,防盗文件,内容如对您有帮助,希望把文章链接给更多的朋友!
linux下svn命令大全 1、将文件checkout到本地目录svncheckoutpath(path是服务器上的目录)例如:
linux 操作技巧收集_ -Tip1查看man文件...nroff-manman/libnet.3|less有时候man文件不在系统目录..这时候就可以用上面的方式来查看非标准的man文件-Tip2以不同的用户身份运行程序...su-
linux下如何读取使用iso 镜像文件的方法 如果拷贝到本地,可以使用mountmountfileNamemountPoint-oloop,fileName是镜像文件名(*.iso,*.img),用例:如我有一个/home/rhel5.2.iso光盘镜像文件,mkdir/mnt/bmount/home/r