Heim  >  Artikel  >  php教程  >  php图片文件 下载文件 防盗链设置方法

php图片文件 下载文件 防盗链设置方法

WBOY
WBOYOriginal
2016-06-13 10:12:35959Durchsuche

在php中最简单的防盗链办法就是利用php的$_SERVER[\'HTTP_REFERER\']函数来操作了,但是此方法不可靠了,我们最终还是需要使用apache,iis来进行操作的,下面我分享介绍了,有需要的朋友可参考。

php防盗链

 代码如下 复制代码

session_start();
session_register(‘check’);
$_SESSION[‘check’]=true;
?>

检查session变数,判断是否造访首页。并且检查他的来源网页参考(HTTP_REFERER)是否来自本地网站的网页。
方法如下:

 代码如下 复制代码

session_start();
$refs = parse_url($_SERVER['HTTP_REFERER']); //分解参考网页资讯
//检查首页session及来源主机是否相同
if(!($_SESSION['check']) || $refs['host'] != $_SERVER['HTTP_HOST'])
exit;

?>

注意:这个只能简单的防盗链了,如果稍懂一点的就可以破解了,

利用服务器来设置php防盗连

apache防盗链

修改httpd.conf

 代码如下 复制代码

SetEnvIfNoCase Referer "^" local_ref=1

Order Allow,Deny
Allow from env=local_ref

如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。
首先在安装 apache 时要加上 --enable-rewrite 参数加载 mod_rewrite 模组。
假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置:

 代码如下 复制代码
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?hzhuti.com /.*$ [NC]
RewriteRule .(gif|jpg)$ abc.gif [R,L]
DocumentRoot "/usr/local/apache/htdocs"
#设置存放站点html文件的目录。

Options FollowSymLinks
AllowOverride None

iis防盗链

执行文件选择 c:RewriteRewrite.dll 即可以了
httpd.ini是配置文件
图片防盗链代码

 代码如下 复制代码


[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://1.*).*
RewriteRule .*.(?:gif|jpg|png|bmp) /force.gif [I,O]

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn