手机
当前位置:查字典教程网 >编程开发 >相关技巧 >ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
摘要:HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。以下是伪造方法:ASP:复制代码代码如下:dimhttpse...

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

以下是伪造方法:

ASP:

复制代码 代码如下:

dimhttp

sethttp=server.createobject("MSXML2.XMLHTTP")'//MSXML2.serverXMLHTTP也可以

Http.open"GET",url,false

Http.setRequestHeader"Referer","http://www.dc9.cn/"

Http.send()

PHP(前提是装了curl):

复制代码 代码如下:

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,"http://www.dc9.cn/xxx.asp");

curl_setopt($ch,CURLOPT_REFERER,"http://www.dc9.cn/");

curl_exec($ch);

curl_close($ch);

PHP(不装curl用sock)

复制代码 代码如下:

$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

{

$out="GET$targetHTTP/1.1rn";

$out.="Host:$hostrn";

$out.="Cookie:ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";

$out.="Referer:$refererrn";

$out.="Connection:Closernrn";

fwrite($fp,$out);

while(!feof($fp))

{

echofgets($fp,128);

}

fclose($fp);

}

VB.NET/C#.NET

复制代码 代码如下:

DimoXMLHttpAsMSXML2.XMLHTTP30=NewMSXML2.XMLHTTP30()

或者

MSXML2.XMLHTTP30oXMLHttp=newMSXML2.XMLHTTP30();

oXMLHttp.open(....

oXMLHttp.setRequestHeader(...

oXMLHttp.send(..

javascript

xmlHttp.setRequestHeader("Referer","http://URL");//???呵呵~假的~

JS不支持^_^

原理都是sock构造http头来senddata。其他语言什么的比如perl也可以,

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

现在有一些能防盗链软件的商业公司比如UUDOG,linkgate,VirtualWall什么的,都是开发的应用于IIS上面的dll。

有的是采用cookies验证、线程控制,有的是能随机生成文件名然后做URL重写。有的方法能的确达到不错的效果.

不过道高一尺,魔高一丈,这些雕虫小技终归是有破解方法的。

【ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨】相关文章:

在地址栏里显示logo的实现方法

奇怪的回车换行问题

访客站点停留时间和页面停留时间的实现方案

web高性能开发系列随笔 BearRui(AK-47)版

Web开发/设计人员应当知道的15个网站

算法系列15天速成 第六天 五大经典查找【下】

textarea 在IE和FF下换行无法正常显示的解决方法

Wordpress 忘记密码的处理方法

phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案

从此不再惧怕URI编码 JavaScript及C# URI编码详解

精品推荐
分类导航