나는 대답이 "아니오"라고 가정하고 있지만 확인을 못 찾았습니다.HTTP 리퍼러는 항상 최상위 도메인에서 끝나나요?
언어에 따라 다르면 HTTP 헤더 (예 : PHP $_SERVER['HTTP_REFERER']
)와 JS의 document.referrer
에 관심이 있습니다. 정확히 동일한 장소에서 온 것으로 간주되지만 동일 할 것입니다.
google.com
에서 특정 무언가가 테스트되었는지 확인하려면 /\.google\.com\/?$/
과 정규 표현식 일치를 수행하는 것이 안전합니까? 아니면 .com/
뒤에 오는 것이 있습니까?
나는 HTTP 헤더가 쉽게 스푸핑 될 수 있다는 것을 알고 있지만, 나는 또한 이것을 무력화하지 않은 사람들을 위해 가능한 한 정확하고 밀폐 된 것으로 만들 수도 있습니다.
알고 있습니다. 그러나 예를 들어 google.com에서 검색하고 검색 결과에서 사이트로 이동하면 JS의 'document.referrer'는'https : // www.google.com /'입니다. 내 질문은 : 그것은 항상 TLD ('.com /')에서 끝나거나 때때로'https : // www.google.com/some/other/stuff /'를 보시겠습니까? – tobek
$ _SERVER [ "HTTP_REFERER"]에 대해서만 말할 수 있지만 내 경험에 따르면 전체 URL을 반영합니다. – Orangepill