前往顾页
以后地位: 主页 > 收集编程 > Php实例教程 >

Apache办事器利用.htaccess实现图片防盗链教程

时候:2015-01-31 21:28来源:知行网www.zhixing123.cn 编辑:麦田守望者

所谓盗链,是指其他网站直接链接我们网站上的文件,一般来讲,盗链的工具年夜多为很耗带宽的年夜体积文件,如图片、视频等。如许酿成的后果首要有:增加了办事器的流量负担,影响我们网站的拜候速率。
如果你用的是Apache办事器,那么利用.htaccess文件便可以很便利的进行设置,从而避免其他站点的用户盗链我们站点的文件。

Apache中的.htaccess文件
.htaccess文件是Apache中相当首要的建设文件,其格局为纯文本,它供应了针对目次改变建设的体例,经由过程在一个特定的文档目次中安排一个包含一个或多个指令的文件,以感化于此目次及其所有子目次。
经由过程.htaccess文件,可以实现简朴地很多在IIS中很烦琐乃至无法实现的服从,如暗码庇护、避免显现目次列表、禁止/许可特定的IP地点、实现网址的301 重定向等等。
正如下面所说,.htaccess文件将影响其地点的目次及其子目次,是以,如果我们要庇护的内容(此处以避免图片盗链为例,即图片)位于网站内多个目次 下,可以考虑将其放在根目次下;而如果图片有伶仃的子目次如“/images/”,则只需将其安排在该目次下(当然也能够放到根目次中)。
需求重视的是,如果经由过程FTP体例将建立好的.htaccess上传到办事器上,传输形式应为ASCII而非Binary。上传到办事器后,应将其属性经由过程 CHMOD点窜成644 或“RW-R–R–”,如许,可以包管办事器可以或许利用同时无法经由过程浏览器点窜,当然,.htaccess的可读属性也存在必然的风险:抨击打击者可经由过程它找出 您要庇护的工具或认证文件地位——处理体例是将认证文件.htpasswd放到网站根目次以外,如许,便无法经由过程收集找到它了。

利用.htaccess避免盗链
经由过程.htaccess来避免网站的图片、紧缩文件、或视频等非Html文件被盗链的体例相当简朴,经由过程在该文件中插手几句号令便可庇护我们贵重的带宽。比方本站的设置以下:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !webeta.cn [NC]
RewriteCond %{HTTP_REFERER} !ikuaizi.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !谷歌.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .*.(gif|jpg)$ [R,NC,L]
简朴的解释一下上述语句:

1、RewriteCond %{HTTP_REFERER} !^$ [NC]
许可空“HTTP_REFERER”的拜候,即许可用户在浏览器地点栏中直接输入图片地点时图片文件的显现。一般而言,这是可选的,不过,建议这么设置,如果逼迫必须具有“HTTP_REFERER”才气拜候,可能会带来某些问题,比如说在用户经由过程代办代理办事器拜候时。

2、RewriteCond %{HTTP_REFERER} !domain.com [NC]
设置许可拜候的HTTP来源,包含我们的站点本身、Google、Baidu、Bloglines、Feedburner等。

3、RewriteRule .*.(gif|jpg|png)$ [R,NC,L]
定义被盗链时替代的图片,让所有盗链 jpg、gif、png 等文件的网页,显现根目次下的 no.png 文件。重视:替代显现的图片不要放在设置防盗链的目次中,并且该图片文件体积越小越好。当然你也能够不设置替代图片,而是利用下面的语句便可:
RewriteRule .*.(gif|jpg|png)$ - [F]

4、申明一下此中的R、NC 和 L

R 就是转向的意义
NC 指的是不辨别年夜小写
L 的感化是指明本次转向到此结束,后续的转向不受先前判定语句的影响

5、避免盗链的文件范例
上例中是 gif、jpg、png,而按照需求,可变动或增加其他文件范例,如rar、mov等,不合文件扩展名间利用“|”豆割。
如许的话,便可以根基做到简朴的避免被盗链环境的产生,并且可以尽最年夜可能的减少办事器流量的恐惧耗损,当然了,如果你不在乎这点流量的话,那么可以不消考虑上述设置啦!

------分开线----------------------------
标签(Tag):Apache Apache办事器
------分开线----------------------------
保举内容
猜你感兴趣