웹프로그래밍 언어별 리퍼러(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. 자바스크립트