热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpHTTP_REFERER函数的使用用法

利用php的http_referer函数来判断用户的来路,这是简单了,实例代码如下:<?phpif(isset($_SERVER[&#39;HTTP_REFERER&#39;])){print"Thepageyouwereonpreviouslywas{$_SERVER[&#
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当前位置:首页 > PHP教程 > php函数 > 列表
php HTTP_REFERER函数的使用用法
发布: 来源:  添加日期:2014-09-18 17:20:01 浏览: 评论:0 

利用php的http_referer函数来判断用户的来路,这是简单了,实例代码如下:

  1.    if (isset($_SERVER[&#39;HTTP_REFERER&#39;])) { 
  2.      print "The page you were on previously was {$_SERVER[&#39;HTTP_REFERER&#39;]}"
  3.    } else { 
  4.      print "You didn&#39;t click any links to get here"
  5.       } 
  6.     ?> 
  7. "refer.php">Click me! 

下面我们让用户不知道我们的来路处理,实例代码如下:

  1. $host = "www.phpfensi.com"
  2. $referer = "http://".$host
  3. $fp = fsockopen ($host, 80, $errno$errstr, 30); 
  4. if (!$fp){ 
  5.         echo "$errstr ($errno)
    ;n"
  6. }else
  7. $request = " 
  8. GET / HTTP/1.1 
  9. Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */"."
  10. Referer: http://$host 
  11. Accept-Language: zh-cn 
  12. Accept-Encoding: gzip, deflate 
  13. User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 
  14. Host: $host 
  15. Connection: Close" 
  16. ."rnrn"
  17.  
  18.  
  19. fputs ($fp"$request"); 
  20. while (!feof($fp)) 
  21.    $res[] = fgets($fp,1024); 
  22. $html = join("",$res); 
  23. fclose ($fp); 
  24. $fp = file_put_contents("123cha.html",$html); 
  25. echo "done";//开源代码phpfensi.com 

这不就行了?

不过很奇怪的是,www.phpfensi.com 的页面抓下来是乱码(除了http头),这是为什么?难道是因为用了gzip之类压缩?

  1. $host = "www.phpfensi.com"
  2. $html = file_get_contents("http://".$host); 
  3. $fp = file_put_contents("hao123.html",$html); 
  4. echo "done"
  5. ?>; 

但这样抓的就没问题,再来分析开始抓的http头:

HTTP/1.1 200 OK Date: Wed, 31 Aug 2005 00:59:36 GMT Server: Apache/1.3.27 Cache-Control: max-age=1296000 Expires: Thu, 15 Sep 2005 00:59:36 GMT Last-Modified: Mon, 29 Aug 2005 13:56:00 GMT Accept-Ranges: bytes Connection: close Content-Type: text/html Content-Encoding: gzip Content-Length: 14567

果然有这句,Content-Encoding:gzip ,原来压缩了的,长度14567字节了,用第二种方法抓,原来没压缩的html是71143字节,原来file_get_contents还可以自动解压缩.

php实例二,代码如下:

  1. $host = &#39;127.0.0.1&#39;
  2. $target = &#39;/2.php&#39;
  3. $referer = &#39;http://www.phpfensi.com&#39;; //伪造HTTP_REFERER地址 
  4. $fp = fsockopen($host, 80, $errno$errstr, 30); 
  5. if (!$fp){ 
  6. echo "$errstr($errno)n"
  7. }  
  8. else
  9. $out = " 
  10. GET $target HTTP/1.1 
  11. Host: $host 
  12. Referer: $referer 
  13. Connection: Closernrn"; 
  14. fwrite($fp$out); 
  15. while (!feof($fp)){ 
  16. echo fgets($fp, 1024); 
  17. fclose($fp); 
  18. ?> 

另一个2.php文件很简单,只是写上一行读取当前的HTTP_REFERER服务器值的代码即可,如下:

  1. echo ""
  2. echo $_SERVER["HTTP_REFERER"]; 
  3. ?>

推荐阅读
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文详细介绍了暂估入库的会计分录处理方法,包括账务处理的具体步骤和注意事项。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 极大似然估计(MLE)及其3D可视化解析
    本文详细介绍了极大似然估计(Maximum Likelihood Estimation, MLE)的推导过程,并通过3D可视化展示其在概率密度函数中的应用。我们将探讨如何利用MLE来估计参数,以及它在实际问题中的重要性。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
author-avatar
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有