RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> PHP高级编程 >> 高级应用 >> 文章内容
PHP,asp与.net伪造HTTP 头
[收藏此页[打印本页]   
来源:互联网  作者:未知  发布时间:2008-03-17

HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。 php程序员之家

以下是伪造方法: php程序员站

ASP/Visual Basic代码
PHP(前提是装了curl): www~phperz~com

以下是代码片段:
以下为引用的内容:
dim http    
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以   
Http.open "GET",url,false    
Http.setRequestHeader "Referer","/"    
Http.send()    
www~phperz~com


PHP代码
PHP(不装curl用sock)

php程序员之家

以下是代码片段:
以下为引用的内容:
$ch = curl_init();   
curl_setopt ($ch, CURLOPT_URL, "/xxx.asp");   
curl_setopt ($ch, CURLOPT_REFERER, "/");   
curl_exec ($ch);   
curl_close ($ch);   

www~phperz~com


PHP代码
以下是代码片段:
以下为引用的内容:
$server = 'www.dc9.cn';   
$host    = 'www.dc9.cn';   
$target  = '/xxx.asp';   
$referer = 'http://www.dc9.cn/';    // Referer   
$port    = 80;   
$fp = fsockopen($server, $port, $errno, $errstr, 30);   
if (!$fp)    
{   
   echo "$errstr ($errno)<br />\n";   
}    
else     php程序员站
{   
        $out = "GET $target HTTP/1.1\r\n";   
        $out .= "Host: $host\r\n";   
        $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEG\r\n";   
        $out .= "Referer: $referer\r\n";   
        $out .= "Connection: Close\r\n\r\n";   
        fwrite($fp, $out);   
        while (!feof($fp))    
        {   
                echo fgets($fp, 128);   
        }   
phperz.com

        fclose($fp);   
}    
   phperz~com

VB.NET/C#.NET

phperz.com

C#代码
以下是代码片段:
以下为引用的内容:
Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()   
或者   
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();   
oXMLHttp.open(....   
oXMLHttp.setRequestHeader(...   
oXMLHttp.send(..   

php程序员站

目前比较简单的防御伪造referer的方法是用验证码(Session)。

phperz.com


 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 基础  mysql  url  adodb
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长