时间:2021-07-01 10:21:17 帮助过:76人阅读
php禁止外部盗链的方法:首先找到并打开“.htaccess”文件;然后在该文件中添加内容为“RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC]”;最后保存该文件即可。
推荐:《PHP视频教程》
PHP防止盗链的方法
防盗链的技术已经很普遍了,有些网站不喜欢自己的图片被别的网站直接复制使用,便使用了防盗链的技术,这样别人在直接复制使用网站图片时,图片便会按照程序的设定不显示或显示防盗链等字样。
使用了防盗链技术,不仅可以防止自己的图片被盗用,也可以节省自己站点下载图片的流量,觉得还是蛮不错的说,那么在PHP环境下应该如何防止盗链呢?在PHP环境下我们知道通常都是使用Apache服务器,那么主要看下Apache防盗链的方法吧,其实IIS也是同一个原理。
Apache防盗链:
大多数的虚拟主机都是Apache的,因此最方便的防盗链设置莫过于利用.htaccess文件了。网上搜索下方法很多,于是我总结了下,绝对好用的方法。把下面的代码添加到.htaccess文件里,修改下即可。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !60ie.net [NC] RewriteCond %{HTTP_REFERER} !youdao.com [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !twitter.com [NC] RewriteCond %{HTTP_REFERER} !facebook.com [NC] RewriteCond %{HTTP_REFERER} !xianguo.com [NC] RewriteCond %{HTTP_REFERER} !google.cn [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !google.com.tw [NC] RewriteCond %{HTTP_REFERER} !google.com.sg [NC] RewriteCond %{HTTP_REFERER} !google.com.hk [NC] RewriteCond %{HTTP_REFERER} !bloglines.com [NC] RewriteCond %{HTTP_REFERER} !soso.com [NC] RewriteCond %{HTTP_REFERER} !mail.qq.com [NC] RewriteCond %{HTTP_REFERER} !cn.bing.com [NC] RewriteCond %{HTTP_REFERER} !image.baidu.com [NC] RewriteCond %{HTTP_REFERER} !feedburner.com [NC] RewriteCond %{HTTP_REFERER} !feedsky.com [NC] RewriteRule .(png|jpg|gif)$ [R,NC,L]
代码解释:
先看最后一行,我对网站上的png、jpg、gif文件做了防盗链保护,一旦我网站里的图片在上述白名单之外的网站里出现,全部显示最后一行代码中的图片。
Nginx防盗链:
Nginx不支持.htaccess,设置起来稍微麻烦了点。首先要用文本编辑器打开/usr/local/nginx/conf/nginx.conf这个文件(如果你使用的是vhost,则到vhost里找相应的conf文件
),将如下代码匹配在server{ }段里面即可,注意我说的不是拷贝,而是匹配。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; valid_referers none blocked *.ilucong.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com; if ($invalid_referer) { rewrite ^/ ; #return 404; } }
注意:尽量不要使用windows自带的记事本编辑,可能会出现乱行;编辑完之后,重启Ngnix服务方可生效
以上就是php如何禁止外部盗链的详细内容,更多请关注gxlcms其它相关文章!