2013-05-31 1 views
0

나는 대답이 "아니오"라고 가정하고 있지만 확인을 못 찾았습니다.HTTP 리퍼러는 항상 최상위 도메인에서 끝나나요?

언어에 따라 다르면 HTTP 헤더 (예 : PHP $_SERVER['HTTP_REFERER'])와 JS의 document.referrer에 관심이 있습니다. 정확히 동일한 장소에서 온 것으로 간주되지만 동일 할 것입니다.

google.com에서 특정 무언가가 테스트되었는지 확인하려면 /\.google\.com\/?$/과 정규 표현식 일치를 수행하는 것이 안전합니까? 아니면 .com/ 뒤에 오는 것이 있습니까?

나는 HTTP 헤더가 쉽게 스푸핑 될 수 있다는 것을 알고 있지만, 나는 또한 이것을 무력화하지 않은 사람들을 위해 가능한 한 정확하고 밀폐 된 것으로 만들 수도 있습니다.

답변

0

좋아, 신경 쓰지 마라. 5 초의 수표로 나를 확인했다. 내 대답은 아니오 야". 일반적으로 TLD에서 끝나지 않을 수있는 참조 자의 전체 URL입니다. 그것은 HTTPS를 사용할 때 Google이 나머지 URL (검색 쿼리 및 기타 정보 포함)을 숨기고 참조 자로 https://www.google.com을 보냅니다.

0

Referer 헤더는 도메인이 아닌 요청을 보낸 페이지를 가리 킵니다.

+0

알고 있습니다. 그러나 예를 들어 google.com에서 검색하고 검색 결과에서 사이트로 이동하면 JS의 'document.referrer'는'https : // www.google.com /'입니다. 내 질문은 : 그것은 항상 TLD ('.com /')에서 끝나거나 때때로'https : // www.google.com/some/other/stuff /'를 보시겠습니까? – tobek

+0

$ _SERVER [ "HTTP_REFERER"]에 대해서만 말할 수 있지만 내 경험에 따르면 전체 URL을 반영합니다. – Orangepill

관련 문제