apache使用.htaccess防图片盗链

前提:apache支持rewrite功能,并启用.htaccess功能

例:防止盗链images下的图片:在网站的images目录下添加.htaccess文件,

vim images/.htaccess

 

  
  
  
  
  1. RewriteEngine on 
  2. RewriteCond %{HTTP_REFERER} !^$ 
  3. RewriteCond %{HTTP_REFERER} !ok.com [NC] 
  4. RewriteCond %{HTTP_REFERER} !okok.com [NC] 
  5. RewriteRule .*.(gif|jpg|png|jpeg)$ http://www.ok.com/no.jpg [R,NC,L] 

这样的话如果其它网站使用本网站images下的图片会直接显示no.jpg

注:

R 就是转向的意思

NC 指的是不区分大小写

L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响

RewriteCond %{HTTP_REFERER} !ok.com [NC] --所有ok.com下的域名可以链接此目录下的图片,可以添加多个白名单。

RewriteRule .*.(gif|jpg|png|jpeg)$ http://www.no.com/no.jpg [R,NC,L] --可以重定向到任意url的文件;也可以使用:

RewriteRule .*.(gif|jpg)$  - [F,NC,L]不重定向,直接禁止访问,提示没有权限。

 

RewriteCond %{HTTP_REFERER} !^$ [NC]:

允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。

 

一定要记得加上本域名的权限!

防盗链显示的图片尽量要小,减少带宽占用!

 

你可能感兴趣的:(apache使用.htaccess防图片盗链)