PHP伪装referer地址的实用教程

很多时候我们都会用到referer地址,通过判断上一页是从哪里来的,我们可以了解很多信息,但是现在referer并不是那么可靠的数据了,因为我们
可以伪造referer地址。这里分别介绍CURL、SOCKET、file_get_contents实现方法,详细代码如下:

CURL方式:

$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, "http://www.shuzila.com");

curl_setopt ($ch, CURLOPT_REFERER, "http://www.ailishuo.com/");

curl_exec ($ch);

curl_close ($ch);

SOCKET方式:

$server = ‘www.lamiduo.com‘;

$host = ‘www.lamiduo.com‘;

$target = ‘index.php‘;

$referer = ‘http://www.lamiduo.com/‘; // Referer

$port = 80;

$fp = fsockopen($server, $port, $errno, $errstr, 30);

if (!$fp){

echo "$errstr ($errno)\n";

}else{

$out = "GET $target HTTP/1.1\r\n";

$out .= "Host: $host\r\n";

$out .= "Referer: $referer\r\n";

$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);

while (!feof($fp)){

echo fgets($fp, 128);

}

fclose($fp);

}

file_get_contents方法:

$opt=array(‘http‘=>array(‘header‘=>"Referer: $refer"));

$context=stream_context_create($opt);

$file_contents = file_get_contents($url,false, $context);

通过上面的代码,我们就把referer地址伪装为http://www.boxuepai.com,你可以写一段代码:

$_SERVER[‘HTTP_REFERER‘];

查看到这个referer地址,就是这么简单,所以referer也不是什么可靠的数据了。想学习更多编程语言教程知识登录e良师益友网。

时间: 2024-08-11 09:53:31

PHP伪装referer地址的实用教程的相关文章

转:【实用教程】阿里云服务器的配置和使用

[实用教程]阿里云服务器的配置和使用 随着网络应用的日常化,网络资源的使用已经不是专业人士或机构的专利.通过简单的学习,每个人都可以在无需硬件的情况下拥有一个甚至多个服务器,并配置属于自己的网页供人浏览.本教程基于阿里云服务器Windows服务器系统为例,通过简单的图文描述,可以让您在短时间内学会使用这个方法. 一. 创建Windows实例(租用阿里云服务器) 1.1 登陆阿里云服务器管理控制台,点击登录 如果没有帐号需要注册一个,具体过程不再赘述,注册完成后登陆控制台. 1.2 如下图所示,选

linux三剑客之sed史上最实用教程!

2016老男孩教育的官方博客干货不断,敬请关注! linux三剑客之sed史上最实用教程!猛戳下面地址即可观看! http://blog.oldboyedu.com/commands-sed/

蓝牙BLE实用教程

蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Ready 和 Smart 以及传统蓝牙之间是什么关系? Q: 双模(dual-mode)和单模(single-mode)有什么区别? Q: There is a confusion between Server-Client vs Master-Slave vs Central-Peripheral.

iptables实用教程(二):管理链和策略

概念和原理请参考上一篇文章"iptables实用教程(一)". 本文讲解如果管理iptables中的链和策略. 下面的代码格式中,下划线表示是一个占位符,需要根据实际情况输入参数,不带下划线的表示是固定的命令,方括号内表示是可选参数. 管理chain 清空chain中所有的策略: iptables [-t table] -F [chain] 删除指定chain中的所有策略,如果不指定清空哪个chain,则清空table中的所有chain,当不指定是哪个tables时,默认为filter

10个关于Android开发的实用教程

本文为致力于Android应用的开发人员精选了几个不错的实用教程,无论是初学者还是专业开发人员都应该能够从中获益.这些教程中有不少是关于绘图和地址服务运用的,另外一些则是SDK相关的.希望对大家有所帮助. 1. OpenGL ES 2.0 这里展示了如何创建一个简单的Android应用程序,通过OPGL ES 2.0 API来实现一些基本的图形操作. 2. Android 开发指导 这篇文章介绍了怎样使用Eclipse来创建Android的应用程序.这篇教程非常长,但同时也非常详细. 3. An

《Java2 实用教程(第五版)学习指导

<Java2 实用教程(第五版)> 第1章Java入门 主要内容:P1 1.1Java的地位:P1 1.2Java的特点:P2 1.3安装JDK:P5 1.4Java程序的开发步骤:P8 1.5简单的Java应用程序:P9 1.6Java反编译:P13 第2章基本数据类型与数组 主要内容:P17 2.1标识符与关键字:P17 2.2基本数据类型:P18 2.3类型转换运算:P21 2.4输入.输出数据:P23 2.5数组:P24 第3章运算符.表达式和语句 主要内容:P33 3.1运算符与表达

IDEA实用教程(一)

IDEA实用教程 一. IDEA简介 简介 IDEA 全称IntelliJ IDEA,是java语言开发的集成环境. IDEA是JetBrains公司的产品. JetBrains官网 : https://www.jetbrains.com/ IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.Ant.JUnit.CVS整合.代码审查方面. 了解:JetBrains公司开发的所有工具. 下载 下载地址:https://www.jetbra

好程序员大数据实用教程之面向对象进阶

好程序员大数据实用教程之面向对象进阶:包的创建与使用 是对一个程序中指定功能的部分代码进行包装 ####构造方法 是一个方法 特殊点: 构造方法没有返回值,不是指的返回值类型是void,而是根本就不写返回值类型 方法名字和类名相同 构造方法不能用static来修饰 构造方法调用的时机: 通俗来讲:是在实例化一个对象的时候调用的 一般情况下,我们在构造方法中做什么: 对对象的某一些属性进行初始化赋值操作 实例化对象的过程: Person xiaoming = new Person(); new :

学习笔记之Java程序设计实用教程

Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了多线程,休假花了两天时间把整本书学完了.