2011-04-14 4 views

답변

2

링크를 클릭하는 것처럼 페이지가 표시됩니다.

는 모든 페이지에서이 테스트 예를 들어,은 phpinfo() 페이지 또는 헤더를 메아리 다른 페이지로 리디렉션하려면 :

window.location='http://hosting.iptcom.net/phpinfo.php'; 

(임의 구글 검색에서 가져온 페이지)

8

일부 예외는 있지만 보낸 헤더는 리디렉션이있는 페이지의 리퍼러가 아니라 리디렉션 된 페이지의 헤더입니다. 이는 원래 리퍼러를 보존하는 서버 측 리디렉션과는 대조적입니다.

그래서, 방문자는 A.html에서 B.html로 이동하고, 웹 서버가 리퍼러로 B.html 볼 수 B.htmllocation.hrefC.html로 리디렉션 트리거합니다. (당신은 서버 측에 C.htmlB.html에서 리디렉션을 한 경우, A.htmlC.html에 대한 참조 자 할 것이다.) Internet Explorer

이전 버전 (언제나처럼)의 뜻으로, 빈 헤더를 보낼 HTTP를 HTTPS로 리디렉션됩니다.

+0

죄송합니다, 당신은 당신이 "미리 참조 자"가 무슨 뜻인지 명확히 수 있을까? – dan

2

대부분의 브라우저 location.href와 함께 HTTP_REFFERER를 전달하지만 IE는 어떤 경우에는 그렇지 않습니다.

refferers 당신에게 정말 중요하다면

, 그럼 당신이 할 수 있습니다 :

function goTo(url) { 
var a = document.createElement("a"); 
if(!a.click) { //Only IE has .click so if it doesnt exist use the simple method where the refferer is passed on other browsers. 
    location.href = url; 
    return; 
} 
a.setAttribute("href", url); 
a.style.display = "none"; 
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(a); 
a.click(); 
} 
관련 문제