>  기사  >  백엔드 개발  >  내 PHP $_SERVER[\'HTTP_REFERER\'] 변수가 누락된 이유는 무엇이며 대안은 무엇입니까?

내 PHP $_SERVER[\'HTTP_REFERER\'] 변수가 누락된 이유는 무엇이며 대안은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-23 06:32:13599검색

Why is My PHP $_SERVER['HTTP_REFERER'] Variable Missing and What Are the Alternatives?

PHP에서 "HTTP_REFERER" 변수 누락

PHP에서는 $_SERVER['HTTP_REFERER'] 변수를 사용하여 다음 URL에 액세스합니다. 현재 페이지에 연결된 페이지. 그러나 일부 개발자에게는 "알림: 정의되지 않은 인덱스: HTTP_REFERER" 오류가 발생할 수 있습니다.

이 오류는 PHP 설명서에 따르면 HTTP_REFERER 변수를 항상 사용할 수 있는 것은 아니기 때문에 발생합니다. 이는 사용자 에이전트(예: 브라우저)에 의해 설정되며 사용자가 수정할 수 있습니다. 또한 모든 사용자 에이전트가 이 정보를 제공하는 것은 아닙니다.

HTTP_REFERER 변수 이해

HTTP_REFERER 변수는 참조한 페이지의 URL을 나타내는 HTTP 요청 헤더입니다. 사용자를 현재 페이지로 이동합니다. 이 정보는 다음과 같은 다양한 방법으로 유용합니다.

  • 사용자 행동 및 웹사이트 트래픽 흐름 추적
  • 악성 또는 스팸 요청 감지
  • 사이트 간 요청 위조 방지 (CSRF) 공격

대체 HTTP_REFERER

HTTP_REFERER는 완전히 신뢰할 수 없고 사용 가능하지 않을 수 있으므로 대체 접근 방식은 JavaScript의 창 개체에서 getDocumentReferrer() 메서드를 사용하는 것입니다. 이 메소드는 현재 페이지에 링크된 페이지의 URL을 반환하며 HTTP_REFERER보다 신뢰성이 높습니다.

const referrer = document.referrer;

단, 주의할 점은 이 방법은 모든 브라우저에서 작동하지 않을 수 있으며 사용자가 수정할 수도 있습니다.

위 내용은 내 PHP $_SERVER[\'HTTP_REFERER\'] 변수가 누락된 이유는 무엇이며 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.