这篇文章主要介绍了php中HTTP_REFERER函数用法,以实例的形式分别讲述了判断用户来路与伪造来路地址等应用,需要的朋友可以参考下

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

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

复制代码 代码如下:

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

print "The page you were on previously was {$_SERVER['HTTP_REFERER']}

";

} else {

print "You didn't click any links to get here

";

}

?>

Click me!

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

复制代码 代码如下:

$host = "www.jb51.net";

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

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

if (!$fp){

echo "$errstr ($errno)

;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: $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";

}

这不就行了?

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

复制代码 代码如下:

$host = "www.jb51.net";

$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实例二,代码如下:

复制代码 代码如下:

$host = '127.0.0.1';

$target = '/2.php';

$referer = 'http://www.jb51.net'; //伪造HTTP_REFERER地址

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

if (!$fp){

echo "$errstr($errno)

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服务器值的代码即可,如下:

复制代码 代码如下:

echo "";

echo $_SERVER["HTTP_REFERER"];

?>

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php httpreferer,php中HTTP_REFERER函数用法实例相关推荐

  1. php使用referer,php中HTTP_REFERER函数用法实例

    本文实例分析了php中HTTP_REFERER函数用法.分享给大家供大家参考.具体分析如下: 利用php的http_referer函数来判断用户的来路,这是比较简单的,实例代码如下: if (isse ...

  2. php simplexml_load_file 详解,php中simplexml_load_file函数用法实例讲解

    php中simplexml_load_file函数用法实例讲解 发布于 2015-02-07 06:53:40 | 136 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文 ...

  3. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  4. python中property函数_python 邮件表格Python中property函数用法实例分析

    本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...

  5. zip在python中的用法_Python中zip()函数用法实例教程

    本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...])zip()是Python的一个内建函 ...

  6. python print函数用法_Python3.2中Print函数用法实例详解

    本文实例讲述了Python3.2中Print函数用法.分享给大家供大家参考.具体分析如下: 1. 输出字符串 >>> strHello = 'Hello World' >> ...

  7. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  8. python中sleep函数用法_python中sleep函数用法实例分析

    本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...

  9. php mkdir函数_php中mkdir函数用法实例分析

    本文实例分析了php中mkdir函数用法.分享给大家供大家参考.具体分析如下: mkdir()语法:bool mkdir(字符串目录,诠释权限)dirThe新directory.permissions ...

最新文章

  1. 压缩归档文件审查工具p7zip-full
  2. Linux中安装配置hadoop集群
  3. c语言字符串算法判断实验原理,C语言第二次实验报告
  4. 手机定位App从想法到上线运营(1)--介绍
  5. php为首字母的词语,PHP提取中英文词语及数字首字母的简单示例
  6. 1716.计算力扣银行的钱-LeetCode
  7. 用 1 行 Python 代码实现 FTP 服务器 - Pyftpdlib
  8. oracle数据库索引
  9. MySQL的replace()函数
  10. 全球时报英语新闻爬虫
  11. 万能批处理工具包最终版
  12. 员工转正述职答辩问什么问题_新员工转正述职答辩.ppt
  13. 2019美国大学计算机本科排名,美国大学计算机排名2019最新排名
  14. 云虚拟主机搭建个人博客
  15. Flink Table Api 之Over Windows使用
  16. ios 扇形 按钮_iOS开发教程之扇形动画的实现
  17. solidworks动画制作教程——装配体爆炸动画
  18. SPSS简单数据分析之分类汇总数据
  19. notepad++分隔符SOH
  20. hautoj 1262 魔法宝石【最短路】

热门文章

  1. 产品设计---APP 增加功能考虑
  2. iphone13pro运行内存多大
  3. java---ArrayList排序学习
  4. python与财务审计报告翻译_财务报表分析中英文对照外文翻译文献
  5. 天眼-流量传感器(使用部署)
  6. 《go语言圣经》习题答案-第11章
  7. tomcat启动不起来
  8. 自学Python后,获得人生的第一桶金!
  9. 际软力载Sika CarboDur v4.2耐火
  10. JAVA异常:Unsupported major.minor version 52.0