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

时间:2023-03-09 19:40:32
php笔记05:http协议中防盗链技术

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

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

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

而且这里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>

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

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

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

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

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

a.html内容是:

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

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

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

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

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

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

结果如下:

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