ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨

所属分类: 网络编程 / 相关技巧 阅读数: 1929
收藏 0 赞 0 分享
HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。
以下是伪造方法:
ASP:
复制代码 代码如下:

dim http  
set http=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 $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); 
        } 
        fclose($fp); 


VB.NET/C#.NET
复制代码 代码如下:

Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30() 
或者 
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.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重写。有的方法能的确达到不错的效果.
不过道高一尺,魔高一丈,这些雕虫小技终归是有破解方法的。
更多精彩内容其他人还在看

图片的色彩空间问题

不知有多少朋友遇到此类问题:在PS里处理好的图,发到论论坛上以后发现图片颜色大变,变得灰蒙蒙,失去了层次,色彩生硬,还有点发青
收藏 0 赞 0 分享

计算机中的字符串编码、乱码、BOM等问题详解

这篇文章主要介绍了计算机中的字符串编码、乱码、BOM等问题详解,对文件编码、vim乱码、什么情况下会出现乱码、字符编码的发展历史、字符集和编码的区别、汉字ANSI编码的发展历史、BOM头等问题做了全面总结、详细介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

markdown简介和语法介绍

这篇文章主要介绍了markdown简介和语法介绍,本文重点介绍了常用的一些markdown语法,可以做为一个简明版的入门指南,另本文还提供了一个在线学习markdown的简明教程,需要的朋友可以参考下
收藏 0 赞 0 分享

程序员开发项目是选择效率还是质量呢?

这篇文章主要介绍了程序员开发项目是选择效率还是质量呢?本文对这个每个程序员都会遇到的一个问题做了讲解,需要的朋友可以参考下
收藏 0 赞 0 分享

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

这篇文章主要介绍了11种实现301网页重定向方法的代码实例,文中包含9种编程语言和3种WEB服务器配置方法,共计12种,需要的朋友可以参考下
收藏 0 赞 0 分享

命令行下的2款网页截图工具推荐

这篇文章主要介绍了命令行下的2款网页截图工具推荐,分别是针对IE浏览器的IECapt和针对Firefox浏览器的PageSaver,需要的朋友可以参考下
收藏 0 赞 0 分享

分享下程序员/设计师能用上的 75 份速查表

速查表可能是图片,也可能是 PDF 文件,希望你能在这个列表中找到你所需要的,
收藏 0 赞 0 分享

Geohash的原理、算法和具体应用探究

这篇文章主要介绍了Geohash的原理、算法和具体应用探究,Geohash可以实现当前手机应用中的查找附近的人功能,需要的朋友可以参考下
收藏 0 赞 0 分享

程序员编程从初级到中级的10个秘诀

在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。
收藏 0 赞 0 分享

关于换行和回车的图文小结

不知道大家用这么多年的电脑,写了这么多的程序,对换行和回车有没有一个认识
收藏 0 赞 0 分享
查看更多