회원로그인
14년 전
1. HTTP_REFERER
이전 경로의 값을 가지는 변수입니다.
$_SERVER['HTTP_REFERER']
$HTTP_SERVER_VARS['HTTP_REFERER']
$HTTP_REFERER
처럼 사용하시면 됩니다.
2. parse_url() 함수
해당 URL 을 스키마,호스트,패스,쿼리 등의 연관배열 형태로 반환합니다.
3. gethostbyname() 함수
해당 호스트의 IP를 가져옵니다.
예)
$referer = parse_url($_SERVER['HTTP_REFERER']);
$ip = gethostbyname($referer[host]);
echo "$referer[host]"; // 도메인 출력
echo "$ip"; // ip 출력
?>
아래 참조 >>>>>
각 언어별로 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를 통해 설정된 주소로 들어왔을경우
이전의 주소를 알아 낼 수 없다는 거겠죠
추천 : 727
추천
목록