热门标签 | 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. ?>

推荐阅读
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 汇编语言等号伪指令解析:探究其陡峭的学习曲线
    汇编语言以其独特的特性和复杂的语法结构,一直被认为是编程领域中学习难度较高的语言之一。本文将探讨汇编语言中的等号伪指令及其对初学者带来的挑战,并结合社区反馈分析其学习曲线。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文详细介绍了如何使用jQuery防止事件冒泡,确保子元素的点击事件不会触发父元素或祖先元素的相应事件。通过具体的代码示例和解释,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了如何通过调整手机设置和拍摄技巧,实现高质量的俯拍横屏照片。 ... [详细]
  • 本文介绍了如何通过扩展 UnityGUI 创建自定义和复合控件,以满足特定的用户界面需求。内容涵盖简单和静态复合控件的实现,并展示了如何创建复杂的 RGB 滑块。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文介绍了在Windows Server 2003环境下,使用XAMPP Lite 1.7.1和DotProject 2.1.3时遇到的日历和甘特图中文乱码问题的解决方案。通过修改相关文件和配置,可以有效解决这些问题。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 牛鞭效应是供应链管理中的一个重要概念,也是经济学中的一个术语。它描述了从零售商到供应商的需求信息在传递过程中逐渐放大的现象,导致供应链各环节的库存波动和不确定性增加。本文将详细探讨这一效应及其应对策略。 ... [详细]
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社区 版权所有