PHP伪造referer访问地址的三种方法
2017-04-06 16:08
2086 查看
CURL方式:
[php] view
plain copy
print?
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.yyyy.com");
curl_setopt ($ch, CURLOPT_REFERER, "http://www.xxxx.com/");
curl_exec ($ch);
curl_close ($ch);
SOCKET方式:
[php] view
plain copy
print?
$server = 'www.yyyy.com';
$host = 'www.yyyy.com';
$target = 'index.php';
$referer = 'http://www.xxxx.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方法:
[php] view
plain copy
print?
$opt=array('http'=>array('header'=>"Referer: $refer"));
$context=stream_context_create($opt);
$file_contents = file_get_contents($url,false, $context);
通过上面的代码,我们就把referer地址伪装为http://www.xxxx.com,你可以写一段代码:
$_SERVER['HTTP_REFERER'];
查看到这个referer地址,就是这么简单,所以referer也不是什么可靠的数据了。
[php] view
plain copy
print?
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.yyyy.com");
curl_setopt ($ch, CURLOPT_REFERER, "http://www.xxxx.com/");
curl_exec ($ch);
curl_close ($ch);
SOCKET方式:
[php] view
plain copy
print?
$server = 'www.yyyy.com';
$host = 'www.yyyy.com';
$target = 'index.php';
$referer = 'http://www.xxxx.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方法:
[php] view
plain copy
print?
$opt=array('http'=>array('header'=>"Referer: $refer"));
$context=stream_context_create($opt);
$file_contents = file_get_contents($url,false, $context);
通过上面的代码,我们就把referer地址伪装为http://www.xxxx.com,你可以写一段代码:
$_SERVER['HTTP_REFERER'];
查看到这个referer地址,就是这么简单,所以referer也不是什么可靠的数据了。
相关文章推荐
- PHP伪造referer地址的三种方法
- php 伪造HTTP_REFERER页面URL来源的三种方法
- 用PHP伪造referer地址
- C51提供了三种访问绝对地址的方法:
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
- 使用php伪造referer的方法 利用referer防止图片盗链
- php获取当前页面完整真实的url地址的方法,包括带参数的,总结了三种方法
- 使用php伪造referer的方法 利用referer防止图片盗链
- php访问查询mysql数据的三种方法
- php禁止直接从浏览器输入地址访问.php文件的方法
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
- 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路
- PHP伪造来源HTTP_REFERER的方法实例详解
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
- PHP伪造来源HTTP_REFERER的方法实例详解
- php禁止直接从浏览器输入地址访问.php文件的方法
- PHP利用REFERER根居访问来地址进行页面跳转
- PHP页面跳转与跨站提交伪造Referer地址来源