手机
当前位置:查字典教程网 >编程开发 >相关技巧 >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方法探讨】相关文章:

网络编程之get与post的区别与联系

分享五个最佳编程字体

变量、函数、类的命名规则

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

日历控件和天气使用分享

即时通讯软件在网页上启动临时对话的链接代码

12种实现301网页重定向方法的代码实例(含Web编程语言和Web服务器)

将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)

十分钟内学会 避免用户刷新导致重复POST提交

分享15个美化代码的代码语法高亮工具

精品推荐
分类导航