티스토리 뷰

반응형

 웹프로그래밍 언어별 리퍼러(referer) 구하기

referer
라고 하면 현재페이지로 이동해오기 바로 전 페이지의 주소를 말합니다. 예를 들면 A페이지와 B페이지가 있다고 가정했을때, A페이지에 있는 링크를 클릭해서 B페이지로 이동하게 되었다면 B페이지로 전달된 A페이지의 주소가 바로 referer가 되는 것입니다.

※ 리퍼러(referer)를 구할 수 없는 경우

위의 예와 같이 A페이지의 링크를 통해서 B페이지로 이동했는데, referer를 구할 수 없는 경우가 있습니다. 이유는 아주 간단합니다. <a>태그와 <form> action 값에 의한 이동이 아닌 경우는 referer가 전달되지 않기 때문입니다. 예를들면 javascript location.href를 통해서 A페이지에서 B페이지로 이동되였다면 referer를 구할 수 없습니다.
바꿔 말해서 referer를 구해야 겠다면 페이지 이동 방법을 
<a>태그나 <form> action 에 의한 이동으로 제안할 필요성이 있습니다.

아래는 웹프로그래밍 언어 모두를 포괄하지는 못하지만 그래도 많이 사용된다고 판단되는 언어에서 리퍼러(referer)를 구하는 방법들입니다.


※ 웹프로그래밍 언어별 리퍼러(referer) 구하기

1.PHP

* 첫번째 방법

$referer = $_SERVER["HTTP_REFERER"];
echo$referer;
*
두번째 방법
$referer = getenv("HTTP_REFERER");
echo$referer;


2. JSP

String referer = request.getHeader("referer");
out.println(referer);


3. ASP

referer = Request.ServerVariables("HTTP_REFERER")
response.write referer


4. ASP.NET에서 C#

if(Request.UrlReferer != null){
  string referer = Request.UrlReferer.ToString();
  Response.Write(referer);
}


5. 자바스크립트

parent.document.referrer

 

반응형
댓글