나중에 관련 정보를 확인한 결과 Window.location.href 또는 IE를 통해 http_referer를 얻는 것이 불가능하다는 것을 알았습니다. IE 브라우저를 이해하지 못합니다. 많은 브라우저가 매우 잘 작동하지만 지원하지 않습니다. 결국, 방법이 없습니다. 소스 http_referer 메소드 만 가짜 또는 JS를 사용하여 위조 할 수 있습니다.
IE를 인식 할 수있는 HTTP_REFERER 제출은 클릭 또는 양식 양식으로 제출 된 요청에 의해 트리거 된 이벤트입니다. 다음은 온라인 정보를 기반으로 요약 된 방법입니다.
<cript> function referl (url) {var isie = (document.all)? true : false; if (isie) {var linka = docut url =”// www.vevb.com”; properl (url); </script>이 방법은 먼저 document.all을 사용하여 현재 브라우저가 IE인지 확인합니다. 그렇다면 링크를 생성 한 다음 OnClick 이벤트를 자동으로 실행하십시오. 그렇지 않은 경우 JS를 사용하여 점프하십시오. 이런 식으로 페이지를 처리 할 때 http_referer를 얻을 수 있습니다.
이 방법은 IE, Firefox, Safari, Chrome에서 테스트됩니다
2. PHP는 CURL을 사용하여 IP 및 Origin HTTP 참조자를 위조합니다.
참조 .php
<? php $ ch = curl_init (); curl_setopt ($ ch, curlopt_url, "http://mydomain.com/ip.php");curl_setopt($Ch, Curlopt_httpheader, 배열 ( 'x-forwarded-for : 8.8.8.8', ')); // IPCURL_SETOPT 구성 ($ ch, curlopt_referer, "//www.vevb.com/"); // Origin Curl_SetOpt ($ ch, curlopt_header, 1); $ out = curl_exec ($ ch); curl_close ($ ch); echo $ out;
ip.php
<? phpFunction getClientip () {if (! empty (! $ _ server [ "http_client_ip"]) $ _Server [ "http_client_ip"]; else (! emptp_x_forwarded_for "))) $ _ server ["http_x_forwarded_for ")) $ _ser [http_x = $ _ $ _ser ["http_xefed_; (! 빈 ($ _ server [ "remote_addr"])) $ ip = $ _server [ "remote_addr"]; else $ ip = "err"; return $ ip;} echo "ip :". getClientip (). "<br>"; echo "참조 :". ". $ _server [ "http_referer"];