PHP学习笔记【18】--PHP防盗链实现

这篇博客介绍了PHP如何实现防盗链功能。首先设置了字符集编码,然后通过`$_SERVER`全局变量获取服务器和请求的相关信息,包括访问者的IP、主机名、文件主目录和请求的资源名。接着,通过`isset()`检查HTTP_REFERER是否存在,并使用`strpos()`判断其是否以特定域名(222.27.196.202)开头。如果符合要求,则允许访问,否则重定向到错误提示页面。
 
  1. <?php 
  2.     //设置字符集编码,解决中文 
  3.     header('Content-Type: text/html; charset=utf-8');  
  4.  
  5.  
  6.     //返回服务器和请求的信息 
  7. //  var_dump($_SERVER); 
  8. //  foreach ($_SERVER as $key => $val){ 
  9. //      echo $key.":".$val."<br/>"; 
  10. //  } 
  11. //  得到访问者的IP 
  12. //  echo "您的IP是:"; 
  13. //  echo $_SERVER["REMOTE_ADDR"]; 
  14. //  echo "主机名:"; 
  15. //  echo $_SERVER["HTTP_HOST"]; 
  16. //  echo "文件主目录"; 
  17. //  echo $_SERVER["DOCUMENT_ROOT"]; 
  18. //  echo "获取请求的资源名:"; 
  19. //  echo $_SERVER["REQUEST_URI"]; 
  20.  
  21.     //防盗链的实现: 
  22.     // isset($var)  :如果 var 存在则返回 TRUE,否则返回 FALSE。 
  23. //  echo $_SERVER["HTTP_REFERER"]; 
  24. //  echo strpos($_SERVER["HTTP_REFERER"], "http://222.27.196.202"); 
  25.     if(isset($_SERVER["HTTP_REFERER"])){ 
  26.         //判断referer是不是以222.27.196.202开头 
  27.         if (strpos($_SERVER["HTTP_REFERER"], "http://222.27.196.202")==0){ 
  28.             //正常访问 
  29.             echo $_SERVER["HTTP_REFERER"]; 
  30.             echo "成功"
  31.         }else
  32.             //非法用户 
  33.             header("Location:xxx.php"); 
  34.         } 
  35.     }else
  36.         echo "referer no exits "
  37.     } 
  38.      
  39.  
  40.      
  41. ?> 

 

本文出自 “Kenan_ITBlog” 博客,请务必保留此出处http://soukenan.blog.51cto.com/5130995/1071729

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值