2017-09-05 1 views
0

제 질문을 읽기 전에 : HTTP_REFERER가 클라이언트 브라우저에서 스푸핑되거나 비활성화 될 수 있음을 알고 있습니다. 나는 유스 케이스를 신경 쓰지 않으며, 테스트중인 브라우저는 리퍼러 정보를 확실히 전달한다.위치 : 헤더가 설정되지 않는 것처럼 보입니다. HTTP_REFERER

<?php 
echo "Referred by \"" . $_SERVER['HTTP_REFERER'] . "\""; 

다음 내 클라이언트에서 :

<?php 
header("Location: page2.php"); 

내가 page2.php라는 두 번째 파일을 생성 : 나는 page1.php라는 파일을 생성

:

내 질문은 이것이다 브라우저 전화 :

http://test-me.co/page1.php

내가 page2.php에서 결과 출력을 기대하고있다가되게합니다 "http://test-me.co/page1.php"

에 의해 참조 된

하지만 대신 더 리퍼러 정보 표시는 다음과 같이

"

아무도 referer가 비어있는 이유를 알려주시겠습니까?

정말 고마워요!

답변

3

리퍼러는 사용자가 마지막으로 방문한 실제 페이지를 포함합니다. URL example.com/a.html을 주소 표시 줄에 입력하면 즉시 /b.html으로 리디렉션되며, 실제로는 a.html을 전혀 방문하지 않았습니다. 그리고 그 전에는 "온"페이지가 없습니다.

a.html --link--> b.html --redirect--> c.html 

그런 다음 c.html에서 당신이 리퍼러로 a.html을 볼 수있을 리디렉션 페이지 어딘가에서을 연결되어 있어야합니다 리디렉션 후 어떤 리퍼러를 참조하십시오. 이 체인을 b.html에서 시작하는 경우에는 리퍼러가 없습니다.

관련 문제