发布时间:2019-01-17 15:50:16编辑:丝画阁阅读(1124)
注:本文内容是搜集网上的帖子整理而成
另外要注意的是,Referer是由浏览器自动为我们加上的,
-
ASP:
-
-
dim http
-
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以
-
Http.open "GET",url,false
-
Http.setRequestHeader "Referer","http://www.05809.cn/"
-
Http.send()
-
-
PHP(前提是装了curl):
-
-
$ch = curl_init();
-
curl_setopt ($ch, CURLOPT_URL, "http://www.05809.cn/xxx.asp");
-
curl_setopt ($ch, CURLOPT_REFERER, "http://www.05809.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(..
-
var url = "http://www.yourtarget.com";
-
var param = "name=david&age=30";
-
var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
-
obj.Open("POST", url, false);
-
obj.Option(4) = 13056;
-
obj.Option(6) = false; //false可以不自动跳转,截取服务端返回的302状态。
-
obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
-
obj.setRequestHeader("Referer", "http://www.baidu.com");
-
obj.Send(param);
-
WScript.Echo(obj.responseText);
结论:从客户端提交来的任何数据都不可信,因为发送的 http 数据包不但表单值可以修改,连数据包的 header 都可以随意修改。同时也说明,使用 VIEWSTATE 对表单的安全性无任何用处。
--- end ---
关键字:
上一篇:mysql日期转换函数
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】