php는 현재 페이지의 이전 페이지, 즉 현재 페이지가 링크된 페이지의 URL 주소를 가져옵니다. $_SERVER['HTTP_REFERER']를 사용할 수 있지만 이 소스 페이지의 URL 주소는 다음과 같습니다. 이 글에서는 HTTP_REFERER 페이지 URL을 위조하는 세 가지 방법을 소개합니다.
$_SERVER['HTTP_REFERER']는 페이지의 상위 소스 페이지를 결정하기 위해 PHP에서 사용하는 슈퍼 변수입니다. $_SERVER['HTTP_REFERER']를 사용하여 어떤 페이지에서 입력했는지 확인할 수 있습니다. . 이 페이지는 더 나은 추적을 위해 추가되었습니다.
그러나 $_SERVER['HTTP_REFERER']도 위조하고 속일 수 있습니다. $_SERVER['HTTP_REFERER']
첫 번째 방법: file_get_contents
$opt=array('http'=>array('header'=>"Referer: $refer")); $context=stream_context_create($opt); $file_contents = file_get_contents($url,false, $context);
file_get_contents의 stream_context_create는 소스의 중요한 매개변수를 위조합니다.
두 번째 방법: CURL
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, "http://www.manongjc.com"); curl_setopt ($ch, CURLOPT_REFERER, "http://www.manongjc.com"); curl_exec ($ch); curl_close ($ch);
http://www.manongjc.com 매개변수는 가짜 URL 주소입니다.
세 번째 방법: fsockopen
$server = 'www.manongjc.com'; $host = 'www.manongjc.com'; $target = 'index.php'; $referer = 'http://www.manongjc.com/'; // Referer $port = 80; $fp = fsockopen($server, $port, $errno, $errstr, 30); if (!$fp){ echo "$errstr ($errno)\n"; }else{ $out = "GET $target HTTP/1.1\r\n"; $out .= "Host: $host\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); }
위 세 가지 방법 중 세 번째 방법인 fsockopen이 성능과 효과가 가장 좋으므로 세 번째 방법을 사용하는 것이 좋습니다.
위는 PHP로 위조된 HTTP_REFERER 페이지의 URL 소스에 대한 정보를 정리한 것입니다. 앞으로도 관련 정보를 계속 추가하겠습니다.
HTTP_REFERER 페이지 URL 소스를 위조하는 PHP 세 가지 방법과 관련 기사를 더 보려면 PHP 중국어 웹사이트에 주목하세요!