php禁止外部盗链的方法:首先找到并打开“.htaccess”文件;然后在该文件中添加内容为“rewriteengine on rewritecond %{http_referer} !^$ [nc]”;最后保存该文件即可。
推荐:《php视频教程》
php防止盗链的方法
防盗链的技术已经很普遍了,有些网站不喜欢自己的图片被别的网站直接复制使用,便使用了防盗链的技术,这样别人在直接复制使用网站图片时,图片便会按照程序的设定不显示或显示防盗链等字样。
使用了防盗链技术,不仅可以防止自己的图片被盗用,也可以节省自己站点下载图片的流量,觉得还是蛮不错的说,那么在php环境下应该如何防止盗链呢?在php环境下我们知道通常都是使用apache服务器,那么主要看下apache防盗链的方法吧,其实iis也是同一个原理。
apache防盗链:
大多数的虚拟主机都是apache的,因此最方便的防盗链设置莫过于利用.htaccess文件了。网上搜索下方法很多,于是我总结了下,绝对好用的方法。把下面的代码添加到.htaccess文件里,修改下即可。
rewriteengine onrewritecond %{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如何禁止外部盗链的详细内容。