빈 HTTP_REFERER를 얻는 것이 가능하다는 것을 알고 있습니다. 어떤 상황에서 이런 일이 발생합니까? 빈 것이 있으면 항상 사용자가 변경했음을 의미합니까? 비어있는 것이 null을 얻는 것과 같은가요? 그리고 어떤 상황에서 나도 그것을 얻습니까?
답변
최종 사용자 일 때 비어 있거나 비어있을 수 있습니다.
- 브라우저 주소 표시 줄 자체에 사이트 URL을 입력했습니다.
- 브라우저에서 유지 관리하는 북마크로 사이트를 방문했습니다.
- 창 / 탭에서 첫 페이지로 사이트를 방문했습니다.
- 외부 애플리케이션에서 링크를 클릭했습니다.
- https URL에서 http URL로 전환했습니다.
- https URL에서 다른 https URL로 전환했습니다.
- 모든 요청에서 리퍼러를 제거하는 보안 소프트웨어 (바이러스 백신 / 방화벽 / 등)가 설치되어 있습니다.
- 는 모든 요청에서 리퍼러를 제거하는 프록시 뒤에 있습니다.
- 리퍼러 헤더 (searchbots!)를 설정하지 않고 프로그래밍 방식으로 사이트를 방문했습니다 (예 : curl ).
답변
HTTP_REFERER-브라우저가 마지막으로 본 페이지를 알리는 브라우저가 전송합니다!
중요한 이유로 [HTTP_REFERER]를 신뢰하는 경우 쉽게 위조 될 수 있으므로 다음과 같이하지 않아야합니다.
- 일부 브라우저는 HTTP_REFERER가 전달되지 않도록 액세스를 제한합니다.
- 주소 표시 줄에 주소를 입력하면 HTTP_REFERER를 통과하지 못합니다
- HTTP_REFERER = NULL이므로 새 브라우저 창을 열면 HTTP_REFERER가 전달되지 않습니다.
- 개인 정보 보호를 위해 일부 브라우저 애드온을 차단합니다. 일부 방화벽과 AV는 그렇게합니다.
이 파이어 폭스 확장 프로그램을 사용하면 원하는 헤더를 설정할 수 있습니다.
축하의 @ 마스터 :
Firefox :
확장 : refspoof , refontrol , 헤더 수정 , 참조하지 않음
완전히 비활성화 : 이 옵션은 “network.http.sendRefererHeader”아래 about : config에서 사용할 수 있으며 참조 전달을 비활성화하려면이 값을 0으로 설정하려고합니다.
구글 크롬 / 크롬 :
확장 : noref , spoofy , 외부 noreferrer
Chnage ~ / .config / google-chrome / Default / Preferences 또는 ~ / .config / chromium / Default / Preferences를 완전히 비활성화 하고 다음을 설정하십시오.
{
...
"enable_referrers": false,
...
}
또는 바로 가기 또는 cli에 –no-referrers를 추가하십시오.
google-chrome --no-referrers
오페라:
설정> 환경 설정> 고급> 네트워크를 완전히 비활성화 하고 “레퍼러 정보 보내기”를 선택 해제하십시오.
스푸핑 웹 서비스 :
독립형 필터링 프록시 (임의의 헤더) :
wget 사용시 http_referer 스푸핑
‘–referer = url’
curl 사용시 http_referer 스푸핑
-e,-참조 자
스푸핑 http_referer wth telnet
telnet www.yoursite.com 80 (press return)
GET /index.html HTTP/1.0 (press return)
Referer: http://www.hah-hah.com (press return)
(press return again)
답변
BalusC의 목록은 확실합니다. 이 필드가 빈 상태로 나타나는 추가 방법 중 하나는 사용자가 프록시 서버 뒤에있는 경우입니다. 이것은 방화벽 뒤에있는 것과 비슷하지만 약간 다르므로 완전성을 위해 언급하고 싶었습니다.
답변
새로운 Referrer Policy 표준 초안 을 사용하여 Referer 헤더가 요청 오리진으로 전송되지 않도록하는 경우에도 비어 있습니다 . 예:
<meta name="referrer" content="none">
크롬과 파이어 폭스는 이미 레퍼러 정책의 초안 버전을 구현했지만, 크롬 no-referrer
대신에 none
(그리고 never
어딘가에 보았을 때 ) 크롬과 같이 조심해야한다 .
답변
브라우저 참조 구현이 실제로 일치하지 않는 것으로 나타났습니다.
예를 들어, “download”속성을 가진 앵커 요소는 Safari에서 예상대로 작동하고 참조를 전송하지만 Chrome에서는 웹 서버 로그에서 참조가 비어 있거나 “-“입니다.
<a href="http://foo.com/foo" download="bar">click to download</a>
Chrome에서 오류가 발생했습니다. 추천자가 전송되지 않았습니다.