您现在的位置:
  1. 首页
  2. 建站
  3. .htaccess防止图片和下载盗链

.htaccess防止图片和下载盗链

该方法也可以防止音乐、pdf、zip和rar等各种文件下载外链的盗链接。
讲防盗链之前,先补充一些htaccess的基础知识。htaccess就是名为.htaccess的文件(没有主名),一般保存在根目录下,即public_html目录下,为了安全,请不要把它的权限设置为777。
一般修改htaccess文件就是新建个文本文档,打好内容,然后以a.htaccess等文件名用FTP,以二进制方式上传,上传后再改为.htaccess。
第一行:
RewriteEngine on
这个是必须的~
由于其他网站盗链后要转接到一个错误图片文件,所以保存那个图片的文件夹一定要允许盗链
RewriteCond %{REQUEST_URI} ^/【允许的文件夹名】
RewriteRule ^.*$ – [L]
接着,设置不允许盗链的文件类型
RewriteCond %{REQUEST_FILENAME} \.(gif|jpg|png)$ [NC]
中间的的gif,jpeg可以修改为要防盗链的类型,其他如音乐、pdf、rar、zip等文件类型均可以。
RewriteCond %{HTTP_REFERER} !^$
上面这一行意在允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !www.ask.com [NC]
RewriteCond %{HTTP_REFERER} !www.163.com [NC]
RewriteCond %{HTTP_REFERER} !www.yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !www.sogou.com [NC]
RewriteCond %{HTTP_REFERER} !www.soso.com [NC]
RewriteCond %{HTTP_REFERER} !www.sina.com.cn [NC]
RewriteCond %{HTTP_REFERER} !www.msn.com [NC]
设置允许外链的网址,记得要设置自己的网址允许“盗”链
RewriteRule (.*) /文件夹/文件名.jpeg[R,NC,L]
最后,设置盗链的转向地址。
注意
RewriteCond %{HTTP_REFERER} !www.baidu.com [NC]
上面这句和下面这句少3个w
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
是有区别的,下面这句,百度的子域名如百度空间hi.baidu.com也是允许盗链,而第一句必须是www.baidu.com,如果允许百度图片搜索,则设置成:
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
以下是幽品博客设置的防盗链代码,你可以根据需要修改:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/err
RewriteRule ^.*$ – [L]
RewriteCond %{REQUEST_FILENAME} \.(gif|jpg|png)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !upinba.com [NC]
RewriteRule (.*) /err/err.jpeg [R,NC,L]
至此,反盗链就OK了,最后提醒一句,如果修改后出现HTTP 500错误,请立即删除.htaccess文件,并检查代码内容,还有,盗链后跳转到的图片一定不要太大,否则就起不了作用了。

到目前为止本文共有1条评论 发表评论

    • 代码呀代码。。学习了。

发表评论

必填

必填