php中HTTP_REFERER函数用法实例


Posted in PHP onNovember 21, 2014

本文实例分析了php中HTTP_REFERER函数用法。分享给大家供大家参考。具体分析如下:

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

<?php 

   if (isset($_SERVER['HTTP_REFERER'])) { 

     print "The page you were on previously was {$_SERVER['HTTP_REFERER']}<br />"; 

   } else { 

     print "You didn't click any links to get here<br />"; 

      } 

    ?> 

<a href="refer.php">Click me!</a>

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

$host = "3water.com"; 

$referer = "http://".$host; 

$fp = fsockopen ($host, 80, $errno, $errstr, 30); 

if (!$fp){ 

        echo "$errstr ($errno)<br>;n"; 

}else{ 

$request = " 

GET / HTTP/1.1 

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */"."* 

Referer: http://$host 

Accept-Language: zh-cn 

Accept-Encoding: gzip, deflate 

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 

Host: $host 

Connection: Close" 

."rnrn"; 

 

fputs ($fp, "$request"); 

while (!feof($fp)) 

{ 

   $res[] = fgets($fp,1024); 

} 

$html = join("",$res); 

fclose ($fp); 

$fp = file_put_contents("123cha.html",$html); 

echo "done";

}

这不就行了?

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

<?php 

$host = "3water.com"; 

$html = file_get_contents("http://".$host); 

$fp = file_put_contents("hao123.html",$html); 

echo "done"; 

?>;

但这样抓的就没问题,再来分析开始抓的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实例二,代码如下:

<?php 

$host = '127.0.0.1'; 

$target = '/2.php'; 

$referer = 'https://3water.com'; //伪造HTTP_REFERER地址 

$fp = fsockopen($host, 80, $errno, $errstr, 30); 

if (!$fp){ 

echo "$errstr($errno)<br />n"; 

}  

else{ 

$out = " 

GET $target HTTP/1.1 

Host: $host 

Referer: $referer 

Connection: Closernrn"; 

fwrite($fp, $out); 

while (!feof($fp)){ 

echo fgets($fp, 1024); 

} 

fclose($fp); 

} 

?>

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

echo "<hr />"; 

echo $_SERVER["HTTP_REFERER"]; 

?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP的FTP学习(三)
Oct 09 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
PHP中的替代语法简介
Aug 22 PHP
php常用数学函数汇总
Nov 21 PHP
php中JSON的使用与转换
Jan 14 PHP
php解析xml方法实例详解
May 12 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
由php中字符offset特征造成的绕过漏洞详解
Jul 07 PHP
如何在PHP中生成随机数
Jun 04 PHP
php中数组最简单的使用方法
Dec 27 PHP
php中call_user_func函数使用注意事项
Nov 21 #PHP
PHP中shuffle数组值随便排序函数用法
Nov 21 #PHP
php常用数学函数汇总
Nov 21 #PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 #PHP
php防止恶意刷新与刷票的方法
Nov 21 #PHP
php采用curl实现伪造IP来源的方法
Nov 21 #PHP
php文件缓存类汇总
Nov 21 #PHP
You might like
php,不用COM,生成excel文件
2006/10/09 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
Javascript的闭包详解
2014/12/26 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
详解flask表单提交的两种方式
2018/07/21 Python
基于python实现聊天室程序
2018/07/27 Python
Python引用计数操作示例
2018/08/23 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
python破解同事的压缩包密码
2020/10/14 Python
白色公司:The White Company
2017/10/11 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
中科软笔试题和面试题
2014/10/07 面试题
技校生自我鉴定范文
2013/09/26 职场文书
师德建设实施方案
2014/03/21 职场文书
团支部推优材料
2014/05/21 职场文书
护理专科学生自荐书
2014/07/05 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
现实表现材料范文
2014/12/23 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
三八妇女节致辞
2015/07/31 职场文书
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS