HTTP Referer 사용 방법

리퍼러 프로세스로 수행 할 수있는 작업

웹 사이트에 쓰여진 정보는 웹 서버에서 사람의 브라우저로 또는 그 반대로 이동할 때 해당 사이트에서 전송하는 데이터의 일부일뿐입니다. 또한 뒤에서 발생하는 데이터 전송량도 상당합니다. 데이터에 액세스하는 방법을 알고 있다면 재미 있고 유용한 방법으로 사용할 수 있습니다. 이 기사에서는이 과정에서 전송되는 특정 데이터 (HTTP 리퍼러)를 살펴 보겠습니다.

HTTP Referer 란 무엇입니까?

HTTP 리퍼러 는 웹 브라우저에서 서버로 전달되는 데이터로,이 페이지를 방문하기 전에 독자가 어떤 페이지에 있었는지 알려줍니다. 이 정보는 귀하의 웹 사이트에서 추가 도움을 제공하거나, 타겟 사용자에게 특별 제안을하거나, 고객을 관련 페이지 및 내용으로 리디렉션하거나, 방문자가 사이트를 방문하지 못하도록 차단하는 데 사용될 수 있습니다. JavaScript, PHP 또는 ASP와 같은 스크립팅 언어를 사용하여 참조 자 정보를 읽고 평가할 수도 있습니다.

PHP, JavaScript 및 ASP를 사용하여 Referer 정보 수집

그렇다면이 HTTP 리퍼러 데이터를 어떻게 수집합니까? 다음은 사용할 수있는 몇 가지 방법입니다.

PHP는 referer 정보를 HTTP_REFERER라는 시스템 변수에 저장합니다. PHP 페이지에 referer를 표시하려면 다음과 같이 작성할 수 있습니다.

if (isset ($ _ SERVER [ 'HTTP_REFERER'])) {
echo $ _SERVER [ 'HTTP_REFERER'];
}

변수에 값이 있는지 확인한 다음 변수를 화면에 인쇄합니다. echo $ _SERVER [ 'HTTP_REFERER'] 대신 ; 스크립트 라인을 여러 리퍼를 확인하기위한 위치에 놓습니다.

JavaScript는 DOM을 사용하여 referer를 읽습니다. PHP와 마찬가지로 리퍼러에 값이 있는지 확인해야합니다. 그러나 해당 값을 조작하려면 변수를 먼저 설정해야합니다. 다음은 JavaScript로 페이지에 referer를 표시하는 방법입니다. DOM은 리퍼러의 대체 철자법을 사용하여 거기에 여분의 "r"을 추가합니다.

if (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

그런 다음 myReferer 변수를 사용하여 스크립트에서 referer를 사용할 수 있습니다.

PHP와 마찬가지로 ASP는 시스템 변수에 referer를 설정합니다. 그러면 다음과 같은 정보를 수집 할 수 있습니다.

if (Request.ServerVariables ( "HTTP_REFERER")) {
Dim myReferer = Request.ServerVariables ( "HTTP_REFERER")
Response.Write (myReferer)
}

변수 myReferer 을 사용하여 필요에 따라 스크립트를 조정할 수 있습니다.

일단 당신이 Referer를 가지고 있다면, 당신은 그것으로 무엇을 할 수 있습니까?

그래서 데이터를 얻는 것은 1 단계입니다. 당신이 어떻게 움직이는가는 당신의 특정 사이트에 달려 있습니다. 물론 다음 단계는이 정보를 사용하는 방법을 찾는 것입니다.

리퍼러 데이터가 있으면이를 사용하여 여러 가지 방법으로 사이트를 스크립팅 할 수 있습니다. 당신이 할 수있는 한 가지 간단한 일은 방문자가 어디서 왔다고 생각하는지 게시하는 것입니다. 틀림없이 꽤 지루하지만 테스트를 실행해야하는 경우 작업하기 좋은 시작점이 될 수 있습니다.

보다 흥미로운 예는 referer를 사용하여 출처에 따라 다른 정보를 표시하는 경우 입니다. 예를 들어 다음과 같이 할 수 있습니다.

Referer별로 .htaccess가있는 사용자 차단

보안 측면에서 특정 도메인에서 사이트에 대한 스팸 메일이 많이 발생하는 경우 사이트에서 해당 도메인을 차단하는 것이 좋습니다. mod_rewrite가 설치된 Apache를 사용하는 경우 몇 줄을 사용하여 차단할 수 있습니다. .htaccess 파일에 다음을 추가 하십시오 .

다시 쓰기 엔진 켜기
# Options + FollowSymlinks
RewriteCond % {HTTP_REFERER} 스패머 \ .com [NC]
RewriteRule. * - [F]

spammer \ .com 을 차단하려는 도메인으로 변경해야합니다. 도메인의 모든 마침표 앞에 \를 넣어야합니다.

리퍼러를 의뢰하지 마라.

리퍼러를 스푸핑 할 수 있으므로 보안을 위해 리퍼러 만 사용해서는 안됩니다 . 다른 보안에 대한 추가 기능으로 사용할 수는 있지만 특정 사용자 만 페이지에 액세스해야하는 경우 htaccess 로 비밀번호설정 해야합니다.