电脑安全

您当前的位置:主页 > 电脑安全 >

PHP禁止图片文件的被盗链函数-网络编程

来源:[db:来源]标题:   盗链    编辑:电脑技术全能网 时间:2019-09-21 06:23

原标题:PHP禁止图片文件的被盗链函数-网络编程
   1、假定充许保持图片的主机域名为:www.dnjishu.com2、修正httpd.confSetEnvIfNoCase Referer "^http://www.dnjishu.com/" local_ref=1 <FilesMatch ".(gif|jpg)"> Order Allow,Deny Allow from env=local_ref </FilesMatch> 这个简略的利用不但能够处理图片盗链的成绩,略加修正还能够避免恣意文件盗链下载的成绩。应用以上的方式当从非指定的主机保持图片时,图片将无奈表现,假如盼望表现一张“制止盗链”的图片,咱们能够用mod_rewrite 来完成。起首在装置 apache 时要加上 --enable-rewrite 参数加载 mod_rewrite 模组。假定“制止盗链”的图片为abc.gif,咱们在 httpd.conf 中能够如许设置:RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?111cn.net /.*$ [NC] RewriteRule .(gif|jpg)$ /XrssFile/2008-4/1/20084111376430.gif [R,L] 当主机的图片被盗链时,只会看到 abc.gif 这张“制止盗链”的图片!一段防盗连的PHP代码<?php$ADMIN[defaulturl] = "http://www.163.com/404.htm";//盗链前往的地点$okaysites = array("http://www.163.com/","http://163.com"); //白名单 $ADMIN[url_1] = "http://www.163.com/download/";//下载所在1$ADMIN[url_2] = "";//下载所在2,以此类推$reffer = $HTTP_REFERER;if($reffer) {$yes = 0;while(list($domain, $subarray) = each($okaysites)) {if (ereg($subarray,"$reffer")) {$yes = 1;}}$theu = "url"."_"."$site";if ($ADMIN[$theu] AND $yes == 1) {header("Location: $ADMIN[$theu]/$file");} else {header("Location: $ADMIN[defaulturl]");}} else {header("Location: $ADMIN[defaulturl]");}?>应用方式:将上述代码保留为dao4.php<