当前位置:主页 ->PHP教程 - PHP 安全 - 跨站攻击 - ->PHP利用$_SERVER["HTTP_REFERER"]防止站外链接和任意网址跳转漏洞
文章详细内容

PHP利用$_SERVER["HTTP_REFERER"]防止站外链接和任意网址跳转漏洞

摘要:今天利用360扫描我的网站,提示警告基本的任意网址跳转漏洞,其实这个是我设置,在不影响用户体验的情况下,为了所谓的网站权重问题而设置的...PHP利用$_SERVER["HTTP_REFERER"]防止站外链接和任意网址跳转漏洞...
转载请注明来源:PHP利用$_SERVER["HTTP_REFERER"]防止站外链接和任意网址跳转漏洞

360提示本网站网站发现任意网址跳转漏洞

难得有空余时间,又开始折腾我的新博客的,哈哈。玩微博偶尔又扫到了360,就想着扫描一下我的网站试试。一看不要紧,提醒存在任意网址跳转漏洞:

该漏洞可能导致网站用户被钓鱼,造成不必要的损失,严重影响网站在用户中的形像!

漏洞地址:

http://ziren.org/app/zr-s.php?url=http://oxoxoxoxoxoxox.com

扫描结果:

ziren.org<a href=安全报告,提示存在任意网址跳转漏洞" src="http://ziren.org/img/upload/201207/jump-in-any-web-site-vulnerability.png" />

为何出现这个问题?

其实这个是我设置,在不影响用户体验的情况下,为了所谓的网站权重问题而设置的,站外链接都是从这个出口导出,这个链接禁止搜索引擎收录。仔细想想,这是也真改好好思考一下,如果有人利用这个设置搞下不正当的东西,我的主机真吃不消,再者很可能被xxx加入黑名单之类的东东,多一事不如少一事。搞点php的$_SERVER["HTTP_REFERER"]验证一下吧:

view sourceprint
01.<?php
02. $check_url=$_SERVER['HTTP_REFERER'];
03. if($check_url!=''){
04. $check_url=parse_url($check_url);
05. if($check_url[host]!='ziren.org'){
06. $url='http://ziren.org/';
07. exit();
08. }
09. }
10.?>

什么情况下HTTP_REFERER会失效?

只有点击超链接A(即<a href="http://www.php1.cn/"> 转载请注明来源:PHP利用$_SERVER["HTTP_REFERER"]防止站外链接和任意网址跳转漏洞
http://www.php1.cn/Content/PHP_LiYong_-_SERVER---HTTP_REFERER---_FangZhiZhanWaiLianJieHeRenYiWangZhiTiaoZhuanLouDong.html

关注 第一PHP社区 微信公众号,获取更多最新PHP技术分享

  • 打酱油

  • 震惊

  • 呵呵


  • 鄙视
最新评论
  • 不吐不快,赶紧来一发!
关注 第一PHP社区 微信公众号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP论坛
Copyright © 1998 - 2015 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有
快云为本站提供专业云计算服务