PHP中$_SERVER['HTTP_REFERER']的反盗链使用

来源:互联网 发布:云计算基础知识 编辑:程序博客网 时间:2024/05/22 17:11

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">从$_SERVER中我们可以获取</span><span class="dc-title" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">服务器和执行环境信息,其中HTTP_REFERER表示的是当前页面的前一个页面链接,也就是告诉我们他是从哪来的,既然可以拿到你的出发地,那么我们就可以利用这一点来限制本网站的访问来源,简单点说,就是你要访问我的页面就不能从其他地方点链接转到我的页面,我可以要求你先访问我的网站,在我的网站点链接才能访问这项信息,这就是防盗链,下面给出php的防盗链代码:</span>
<span class="dc-title" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span>

<span style="font-size:18px;"></span>
<span style="font-size:18px;">$urlar   =   parse_url($_SESSION['HTTP_REFERER']);     //如果页面的域名不是服务器域名,就连接到登陆窗口     if($_SERVER['HTTP_HOST']   !=   $urlar["host"]   &&   $urlar["host"]   !=   "202.102.110.204"   &&   $urlar["host"]   !=   "http://blog.163.com/fantasy_lxh/"){     <span style="white-space: pre;"></span>header("location:   login.php");     <span style="white-space: pre;"></span>exit;     }     </span><span style="font-size:12px;">  </span>

下列情况是从浏览器的地址栏正常取得$_SERVER("HTTP_REFERER"):
1) 直接用<a href="">
2) 用Submit或<input type="image">提交的表单(POST或GET)
3) 使用JAvaScript提交的表单(POST或GET)
下面我们再看看$_SERVER("HTTP_REFERER")不能正常取值的情况:
1) 从收藏夹链接
2) 单击主页或自定义的地址
3) 在浏览器中直接输地址
4) 使用JavaScript的Location.href或者是Location.replace()
5) 用XML加载地址

0 0
原创粉丝点击