PHP笔记05:http协议中防盗链技术

倘若我们自己在电脑上写了一个网站文件(可以是html,php文件等等),但是只希望本机可以访问这个文件,不希望别的电脑访问就需要这里的防盗链技术

1.我们在本地写了一个import.php文件:

而且这里import.php文件的内容是如下:

//PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。

//$_SERVER['HTTP_REFERER']   #可以得到链接/提交当前页的父页面URL

<?php
  
  //没有防止
  //获取REFERER
  
  if(isset($_SERVER['HTTP_REFERER'])){//isset()在php中用来检测变量是否设置,该函数返回的是否布尔值,即true/false。
     //取出来
     //判断     $_SERVER['HTTP_REFERER']是不是以http://localhost/http开始,这里涉及到一个函数:strpos();
     if(strpos($_SERVER['HTTP_REFERER'],"http://localhost/http")==0){
         echo "账号和密码";
     }else{
         //跳转到警告页面
         header("Location:warning.php");
     }
  }else{
      //跳转到警告页面
         header("Location:warning.php");
  }      
 
?>

2.

本地用户可以通过上面定义的a.html文件访问获取import.php文件

这里是a.html文件源码,就是简单的超链接跳转

<a href="import.php">查看本网数据</a>

3.倘若是本机别的地方文件(和import.php不在同一个路径)访问import.php文件或者别的电脑访问import.php文件,就会跳转到一个warning的警告页面:

(1)本机别的地方文件(这里在桌面上设置一个文件)

a.html内容是:

<a href="http://localhost/http/import.php">查看本网数据</a>

然后在浏览器中运行上面的桌面的a.html文件如下:

点击上面的"查看本网数据"

(2)倘若是别的电脑就打开的浏览器在浏览器地址栏输入:http://192.168.145.253/http/import.php,这里输入的时候不是http://localhost/http/import.php,我们这里是别的电脑访问的,在别的电脑上输入目标窃取访问的电脑IP,也就是这里的192.168.145.253;

结果如下:

原文地址:https://www.cnblogs.com/hebao0514/p/4695274.html