Переменная HTTP-REFERER становится все более ненадежной и ее можно подделать.
Вот как это подделать:
ASP:
dim http
set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP также можно использовать
Http.open "GET", URL, false
Http.setRequestHeader «Referer», « http://www.devdao.com/ »
HTTP.send()
PHP (при условии, что установлен Curl):
$ch = Curl_init();
curl_setopt ($ch, CURLOPT_URL, « http://www.devdao.com/xxx.asp »);
curl_setopt ($ch, CURLOPT_REFERER, « http://www.devdao.com/ »);
Curl_exec ($ ч);
локон_закрыть ($ ч);
PHP (не устанавливайте Curl и используйте Sock)
$server = 'www.devdao.com';
$host = 'www.devdao.com';
$target = '/xxx.asp';
$referer = 'http://www.devdao.com/';
$порт = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30);
если (!$fp)
{
echo "$errstr ($errno)<br />n";
}
еще
{
$out = "Получить $target HTTP/1.1rn";
$out .= "Хост: $hostrn";
$out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEGrn";
$out .= "Реферер: $refererrn";
$out .= "Соединение: Закрытьrnrn";
fwrite($fp, $out);
пока (!feof($fp))
{
эхо fgets($fp, 128);
}
fclose($fp);
}
ВБ.NET/С#.NET
Уменьшить oXMLHttp как MSXML2.XMLHTTP30 = Новый MSXML2.XMLHTTP30()
или
MSXML2.XMLHTTP30 oXMLHttp = новый MSXML2.XMLHTTP30();
oXMLHttp.open(....
oXMLHttp.setRequestHeader(...
oXMLHttp.send(..
javascript
xmlHttp.setRequestHeader("Referer", " http://URL");// ???Ха-ха~фейк~
JS не поддерживается^_^
Принцип заключается в том, что sock создает заголовок http для отправки данных. Также можно использовать другие языки, такие как Perl.
В настоящее время самым простым способом защиты от поддельных ссылок является использование кодов проверки (Session).
В настоящее время существуют некоторые коммерческие компании, которые могут предотвратить горячее связывание программного обеспечения, например UUDOG, linkgate, VirtualWall и т. д., каждая из которых разработала библиотеки DLL для использования в IIS.
Некоторые используют проверку файлов cookie и управление потоками, а некоторые могут случайным образом генерировать имена файлов, а затем перезаписывать URL-адреса. Некоторые методы действительно могут дать хорошие результаты.
Однако всегда есть способ взломать эти тривиальные трюки.