ASP与.NET伪造HTTP_REFERER方法及防止伪造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()

VB.NET/C#.NET
Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
或者
MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();
oXMLHttp.open(....
oXMLHttp.setRequestHeader(...
oXMLHttp.send(..

原理都是sock构造http头来senddata。其他语言什么的比如perl也可以,目前比较简单的防御伪造referer的方法是用验证码(Session)。

现在有一些能防盗链软件的商业公司比如UUDOG,linkgate,VirtualWall什么的,都是开发的应用于IIS上面的dll。有的是采用cookies验证、线程控制,有的是能随机生成文件名然后做URL重写。有的方法能的确达到不错的效果.

原文地址:https://www.cnblogs.com/top5/p/1682479.html