2011-11-30 5 views
20

웹 응용 프로그램에서 Referer HTTP 헤더를 사용할 수 있습니까? 사용자가 특정 도메인/웹 페이지에서 왔는지 확인하고 싶다면 해당 사이트의 레이아웃을 적절하게 변경하십시오.Referer HTTP 헤더를 신뢰할 수 있습니까?

나는 사람들이 자신의 브라우저에서 Referer을 해제 할 수 있음을 알고있다. 어떤 아이디어를 사용자가 얼마나 자주합니까? Referer이 99 %에 의존하고 있습니까?

+3

나는 이것을 추측하고 직감으로 생각하고 있지만, 인터넷 사용자 중 압도적 인 다수가 Referer는 말할 것도없고 브라우저의 설정을 변경하지 않는다고 상상한다. 나는 그것이 귀하의 타겟 고객을 기반으로한다고 가정합니다. 노인 대 해커. 우연의 두 가지 극단적 인 경우. 의 – BVSmallman

+3

가능 중복 [얼마나 신뢰할 수있는 HTTP_REFERER] (http://stackoverflow.com/questions/6023941/how-reliable-is-http-referer) –

+1

귀하의 질문은 잘 여기에 대한 답변 : HTTP : // 유래.co.kr/questions/6023941/how-reliable-is-http-referer – favoretti

답변

1

는만큼 가능한 값이 없을 때 당신은 합리적인 기본 동작을 가지고, 당신이 그것을 기반으로 민감한 아무것도하지 않는 한, 아마 괜찮습니다.

악의적 인 사용자가 자신이 원하는 무엇이든 그 헤더를 설정할 수 있습니다. 나는 대부분의 사용자가 브라우저의 기본 동작을 수정하지 않을 것으로 예상하기 때문에 아마도 대부분의 경우 정확하고 정확할 것입니다.

도 아마 전송하는 리퍼러 헤더의 원인이됩니다 HTTPS 및 HTTP 사이를 전환 할 경우가 있습니다.

+4

Youre는 기본적으로 여기서 질문 자체를 다시 말합니다. – stefan

22

일반적으로 이 아닌은 방문자가 누구인지 또는 자신의 사이트 사용자 중 행동 패턴을 찾을 때를 제외하고는 중요한 정보를 제외하고 HTTP Referer 헤더를 신뢰해야합니다 .

위에서 언급 한 것처럼 방문자의 행동에 대한 간단한 트래픽 분석을 고려하지 않는 한,이 헤더를 AAA (인증, 권한 부여 및 회계) 용으로 사용하지 않는 것이 좋습니다.

는 OWASP (오픈 웹 애플리케이션 보안 프로젝트)는 Referer header for AAA in your Web Application를 사용하여 "Vulnerabilty을"그것을 생각한다. 리퍼러 헤더를 신뢰하지

다른 어떤과보다 구체적인 이유는 다음과 같습니다 : 일반적으로

  • , <는 HTTP에서 "연결"할 때 -> HTTPS (TLS) 연결, 대부분의 표준 웹 브라우저가됩니다 이 헤더를 알리지 않는다.

  • 개인 정보 보호를 위해 많은 회사 프록시가이 헤더를 제거/제거하도록 구성되어 있으므로 웹 브라우저에서이 헤더를 보내더라도 회사 프록시 소프트웨어가이 헤더를 제거 할 수 있습니다.

  • 야생 보안 솔루션, 맬웨어, 응용 프로그램에 포함 된 브라우저 등은이 헤더의 내용을 수정 및 속임수로 사용하는 것으로 알려져 있습니다.

는 조심 : 도메인 이름이나 네트워크 주소 목적지를 변경할 때

  • HTTPS에 HTTPS에서 "연결", 대부분의 표준 웹 브라우저도이 헤더를 알려줍니다.
+0

"HTTPS에서 HTTPS로 '연결'할 때도 대부분의 표준 웹 브라우저는 도메인 이름이나 네트워크 주소 대상을 변경할 때이 헤더를 알리지 않습니다." ? 나는 그것에 대해 더 알고 싶다. – tom

+1

@tom 지적 해 주셔서 감사합니다! 그 단락은 사실 내가 의도 한 타당한 의미에서 잘못 입력 된 것이 었습니다. 나는 그것을 지금 새롭게했다. 어쨌든, 이것은 까다로운 주제이고 나의 대답은 오래된 (수년 전의) 연구를 반영합니다. 자체 조사를위한 몇 가지 흥미로운 링크 : http://smerity.com/articles/2013/where_did_all_the_http_referrers_go.html 및 https://isc.sans.edu/forums/diary/When+does+your+browser+send+a+ 리퍼러 + 헤더 + 또는 + not/16433 / –

관련 문제