php 伪装 referer 1,2,3

php 伪装 referer 1,2,3 - 故障解答 - 电脑教程网

php 伪装 referer 1,2,3

日期:2006-08-15   荐:
php 伪装 referer 1,2,3 
 
 
CODE:[Copy to clipboard]<?php 
/** 
* $Id$ 
* 
* Filename : referer.php 
* Author   : 额系菜屁屁 
* Email   : [email protected] | hotmail.com 
* Create   : 20060831 
* LastMod : 2006 
* Usage   :  
* 国际村首发 
*/
//ini_set('display_errors', 1); 
//error_reporting(E_ALL ^ E_NOTICE); 
//header("Content-type:text/html;charset=utf-8"); 
set_time_limit(5); 
$referer = 'http://php.club.goodoon.com'; 
$data = 'Hello PHPX!'; 
$host = "www.phpx.com"; 
$path = "/happy/index.php"; 
$port = '80'; 
$user = '额系菜屁屁'; 
$pswd = '屁屁'; 
 
// {{{ 方法 1 ,用 fsockopen 
/* 
// 处理好 formhash 的值就可以实现登录,这里还不可以,弄过discuz的可以尝试一下 
$path = "/happy/logging.php?action=login"; 
$data = "formhash=&referer=$referer&loginmode=normal&cookietime=2592000&loginfield=username&username=$user&password=$pswd&questionid=0"; 
*/
$q = ''; 
$q .= "GET $path HTTP/1.1rn"; 
$q .= "Host: $hostrn"; 
$q .= "Referer: $refererrn"; // 看这里 
$q .= "Content-type: application/x-www-form-urlencodedrn"; 
$q .= "Content-length: ".strlen($data)."rn"; 
$q .= "Accept: */*rn"; 
$q .= "Connection: closern"; 
$q .= "rn"; 
$q .= $data; 
$fp = fsockopen($host, $port); 
fputs($fp, $q); 
$r = ''; 
while(!feof($fp)) { 
    $r .= fgets($fp); 
} 
fclose($fp); 
//echo $r; 
// }}} 
// {{{ 方法 2 ,用 curl 系列函数(另外 curl 真的非常不错,值得大家尝试。你,值得拥有。 ^_^) 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.phpx.com/happy/logging.php?action=login"); 
curl_setopt($ch, CURLOPT_REFERER, $referer); // 看这里,你也可以说你从google来 
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
// 上面这句,当然你可以说你是baidu,改掉这里的值就ok了,可以实现小偷的功能, 
//你也可以自己做个 spider 了,那么就伪装这里的 CURLOPT_USERAGENT 吧 
curl_setopt($ch, CURLOPT_POST, 1); // post 过去 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('username' => $user, 'password' => $pswd)); // post 的字段 
// 当然这里也可以用这个方式来实现登录,不过这里对discuz来讲还是有 formhash 问题, 
// 也许换个没有这种安全验证机制的登录是可以的。 
// 烦琐的我就不再弄了。 
$r = curl_exec($ch); 
curl_close($ch); 
// }}} 
// {{{ 方法 3 就是 stream 系列函数了 
$opts = array( 
  "http" => array( 
    'method' => "GET", 
    'header' => "Referer: http://php.club.goodoon.comrnAccept: */*rnAccept-language: zh-cnrnCookie: username=额系菜屁屁rn" 


    /*也许“额系菜屁屁”这里需要encode什么滴*/
  ) 
); 
$context = stream_context_create($opts); 
// 当然这里也可以用 stream_context_set_option 函数设置更多 options 
$fp = fopen("http://www.phpx.com/happy/index.php", "r", false, $context); 
fpassthru($fp); 
fclose($fp); 
// }}} 
/** 
总结,虽然这里什么事情也没有去做。 
但是,这里告诉大家的东西很显然, 
以上就是使用我们都喜欢的 php 伪装 http 的 referer,就这样。 
所以,referer 不是完全可以信任的。 
我所知道的方法就这些,希望能给您炎热的夏天带来凉爽的快感. 
以上涉及的东西,不光只有referer问题,同时您也可以看出来,我们可以伪装的东西很多, 
很容易就可以做出小偷呀什么的东西来,嘿嘿 
当然做小偷还有许多东西要做,比如网页内容可以取下来后,还是需要分析的,这个当然要用 preg_* 系列函数了, 
再提一下,抓取往页,linux 下 wget 可能是最合适的人选了,本山大哥说,谁用谁知道!哈哈 
免责一下,这里是谈技术,只是说小偷这种技术,不建议做坏用。^_^ 
*/
?>
标签: