PHP简单防盗链_strpos

2016-03-13 23:44:55
防盗链技术主要是用到HTTP协议头中 referer 字段,用URL的格式来显示从哪个链接跳转到当前页面,referer可检测目标页面的访问来源,用referer跟踪来源,从而检测到来源是否是本站来进行组织或者返回指定页面。   首先新建一个页面test.php页面 代码如下
<?php

echo '<a href="MyImpot.php" >Link</a>';

?>
第一个页面主要就是一个链接 用来跳转道第二个页面   然后新建第二个页面 源码如下:
<?php


if(isset($_SERVER['HTTP_REFERER'])){

// var_dump($_SERVER['HTTP_REFERER'] );

   if(strpos($_SERVER['HTTP_REFERER'],"http://localhost/phpdev/")===0){
         
//    $arr = array('name' =>'张辰云','age'=>'23','add'=>'河北省石家庄','E-Mail'=>'itzcy@itzcy.com','Tel'=>'183****8193' );
      $arr = array('张辰云','23','河北省石家庄','itzcy@itzcy.com','183****8193' );
      
       for ($i=0; $i <count($arr) ; $i++) {
         echo $arr[$i]."<br />";
       }

      echo "ok";
   }
   else{

      echo "失败";
   }

}else{
   echo "外层失败";
}

?>

第二个页面首先判断是否接受到 “$_SERVER['HTTP_REFERER']” 数据 否则显示外层失败的提示信息,如验证接受到数据则进入到第二层循环 使用“strpos” 来对比“$_SERVER['HTTP_REFERER']” 和所需要对比的本地链接“http://localhsot” 是否是同一站点,如果为真,则执行接下来的操作,如果为假则 显示 “失败”。