PHP简单防盗链_strpos

PHP简单防盗链_strpos

三月 13, 2016 阅读 473 字数 802 评论 1 喜欢 1

防盗链技术主要是用到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” 是否是同一站点,如果为真,则执行接下来的操作,如果为假则 显示 “失败”。