반응형

HTTP 환경변수의 HTTP_REFERER를 이용해봅시다'ㅂ'

(import javax.servlet.http.HttpServletRequest;)

각 언어별로 HTTP_REFERER를 확인하는 방법은 아래와 같습니다. 리턴값은 스트링이구요.

ASP => Request.ServerVariables("HTTP_REFERER")
PHP => $_SERVER['HTTP_REFERER']
JSP => request.getHeader("REFERER")

HTTP_REFERER의 값의 유무와 각 웹서버의 로그파일을 이용해서
어떻게 방문했는지를 추출할 수 있습니다.

1. 주소창에 주소를 입력해서 들어오는 경우
- HTTP_REFERER의 값이 없음

ex)strReferPath = Trim(Request.Servervariables("HTTP_REFERER"))

strReferPath == null ? 1 : 0 -> 1이 반환 되겠져

2. '즐겨찾기'를 이용해서 들어오는 경우(IE의 경우)
- HTTP_REFERER의 값이 없음
- 로그파일에 ..../favicon.ico로그가 먼저 남는다.
- 이는 IE가 즐겨찾기를 눌러서 사이트를 방문할 경우 favicon.ico 요청을 하고, 해당 URL의 요청을 하기때문입니다.

3. 링크를 통해서 들어오는 경우.(쉽게 말해서 <a>태그를 통해)
- HTTP_REFERER에 이전 URL정보가 들어있음.

이렇게 3가지 패턴으로 어느정도 확인을 할 수가 있습니다만-!

자바스크립트로 location.href를 통해 설정된 주소로 들어왔을경우

이전의 주소를 알아 낼 수 없다는 거겠죠; 그 밖에도 여러가지가 있겠지만...

 

출처 - http://blog.naver.com/wimeprana/110019137746

반응형

'공부거리 > PHP' 카테고리의 다른 글

PHP 문자열 함수  (0) 2013.05.29
[PHP] $_SERVER[] 값  (0) 2013.04.04
이클립스+php셋팅  (0) 2012.05.11
PHP 게시판 리스트 샘플 소스  (0) 2011.12.19
PHP3 문법 기초  (0) 2011.10.12

+ Recent posts