好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php如何禁止外部盗链

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测试数据 [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia测试数据 [NC]
RewriteCond %{HTTP_REFERER} !twitter测试数据 [NC]
RewriteCond %{HTTP_REFERER} !facebook测试数据 [NC]
RewriteCond %{HTTP_REFERER} !xianguo测试数据 [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google测试数据 [NC]
RewriteCond %{HTTP_REFERER} !google测试数据.tw [NC]
RewriteCond %{HTTP_REFERER} !google测试数据.sg [NC]
RewriteCond %{HTTP_REFERER} !google测试数据.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines测试数据 [NC]
RewriteCond %{HTTP_REFERER} !soso测试数据 [NC]
RewriteCond %{HTTP_REFERER} !mail.qq测试数据 [NC]
RewriteCond %{HTTP_REFERER} !cn.bing测试数据 [NC]
RewriteCond %{HTTP_REFERER} !image.baidu测试数据 [NC]
RewriteCond %{HTTP_REFERER} !feedburner测试数据 [NC]
RewriteCond %{HTTP_REFERER} !feedsky测试数据 [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测试数据 *.youdao测试数据 *.zhuaxia测试数据 *.xianguo测试数据 *.google.cn *.google测试数据 *.google测试数据.tw *.google测试数据.sg *.google测试数据.hk
*.bloglines测试数据 image.soso测试数据 cn.bing测试数据 image.baidu测试数据 *.feedburner测试数据 *.feedsky测试数据;
if ($invalid_referer) {
rewrite ^/ ;
#return 404;
}
}

注意:尽量不要使用windows自带的记事本编辑,可能会出现乱行;编辑完之后,重启Ngnix服务方可生效

以上就是php如何禁止外部盗链的详细内容!

查看更多关于php如何禁止外部盗链的详细内容...

  阅读:46次