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

推荐阅读
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • 本文探讨了Java编程语言中常用的两个比较操作符==和equals方法的区别及其应用场景。通过具体示例分析,帮助开发者更好地理解和使用这两个概念,特别是在处理基本数据类型和引用数据类型的比较时。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文详细介绍了如何使用Rufus工具制作一个兼容UEFI启动模式的Windows Server 2008 R2安装U盘,包括必要的软件和步骤。 ... [详细]
  • 本文介绍如何使用 Python 计算两个时间戳之间的时间差,并将其转换为毫秒。示例代码展示了如何通过 `time` 和 `datetime` 模块实现这一功能。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 使用REM和媒体查询实现响应式布局
    本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ... [详细]
  • SPFA算法详解与应用
    当图中包含负权边时,传统的最短路径算法如Dijkstra不再适用,而Bellman-Ford算法虽然能解决问题,但其时间复杂度过高。SPFA算法作为一种改进的Bellman-Ford算法,能够在多数情况下提供更高效的解决方案。本文将详细介绍SPFA算法的原理、实现步骤及其应用场景。 ... [详细]
  • 本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ... [详细]
  • 神策数据分析基础
    本文介绍了基于用户行为的数据分析方法,包括业务问题的提出与定义、具体行为的识别及统计分析流程。同时,详细阐述了如何利用事件模型(Event Model)来描述用户行为,以及在实际应用中的案例分析。 ... [详细]
  • PHP 图形函数中实现汉字显示的方法
    本文详细介绍了如何在 PHP 的图形函数中正确显示汉字,包括具体的步骤和注意事项,适合初学者和有一定基础的开发者阅读。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 探讨在使用 PHP 函数 array_combine 时遇到的重复键名问题,并提出解决方案以确保所有数据都能被正确显示。 ... [详细]
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社区 版权所有