리퍼러 프로세스로 수행 할 수있는 작업
웹 사이트에 쓰여진 정보는 웹 서버에서 사람의 브라우저로 또는 그 반대로 이동할 때 해당 사이트에서 전송하는 데이터의 일부일뿐입니다. 또한 뒤에서 발생하는 데이터 전송량도 상당합니다. 데이터에 액세스하는 방법을 알고 있다면 재미 있고 유용한 방법으로 사용할 수 있습니다. 이 기사에서는이 과정에서 전송되는 특정 데이터 (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 URL을 일반적인 환영 메시지로 인쇄 할 수 있습니다. 위에 언급했듯이 꽤 지루하지만 기본 맞춤 설정을 제공합니다.
- 환영 검색 엔진 방문자
누군가가 검색 엔진 (예 : referer가 google.com 또는 bing.com 또는 yahoo.com 등)에서 귀하의 사이트에 도착했을 때, 귀하는 더 오래 머무를 수 있도록 약간의 추가 정보를 제공 할 수 있습니다 귀하의 사이트. 뉴스 레터 URL을 지적하거나 사이트의 더 많은 인기있는 페이지에 대한 링크를 제공 할 수 있습니다. - 양식에 정보 전달
사람들이 사이트 자체에 대한 문제를보고 할 수 있도록 사이트에 링크가 있다면 리퍼러를 아는 것이 매우 유용 할 수 있습니다. 사람들은 종종 URL을 표시하지 않고 웹 페이지의 문제를보고하지만,보고자 정보를 사용하여보고 내용에 대한 추측을 할 수 있습니다. 이 스크립트는 referer를 숨겨진 양식 필드에 추가하여 사이트에서 어디에 문제가 발생했는지에 대한 데이터를 제공합니다.
- 일부 방문자를위한 특별 행사 만들기
아마도 특정 페이지에서 온 사람들에게 귀하의 제품이나 서비스에 대한 특별한 거래를 제공하기를 원할 것입니다. 이는 사용자 환경과 사용자 데이터를 기반으로 표시되는 콘텐츠를 형성하는 개인화의 또 다른 예입니다. 예를 들어 다양한 제품을 판매하는 경우 이미 해당 제품과 관련된 거래를 제공 할 수 있습니다 귀하의 사이트를보고. - 다른 페이지로 방문자 보내기
특정 리퍼러의 사람을 다른 페이지로 보낼 수도 있습니다. Google 및 다른 검색 엔진이이를 오도 된 것으로 생각하고 사이트에 불이익을 줄 수 있으므로 매우주의하십시오.
Referer별로 .htaccess가있는 사용자 차단
보안 측면에서 특정 도메인에서 사이트에 대한 스팸 메일이 많이 발생하는 경우 사이트에서 해당 도메인을 차단하는 것이 좋습니다. mod_rewrite가 설치된 Apache를 사용하는 경우 몇 줄을 사용하여 차단할 수 있습니다. .htaccess 파일에 다음을 추가 하십시오 .
다시 쓰기 엔진 켜기
# Options + FollowSymlinks
RewriteCond % {HTTP_REFERER} 스패머 \ .com [NC]
RewriteRule. * - [F]
spammer \ .com 을 차단하려는 도메인으로 변경해야합니다. 도메인의 모든 마침표 앞에 \를 넣어야합니다.
리퍼러를 의뢰하지 마라.
리퍼러를 스푸핑 할 수 있으므로 보안을 위해 리퍼러 만 사용해서는 안됩니다 . 다른 보안에 대한 추가 기능으로 사용할 수는 있지만 특정 사용자 만 페이지에 액세스해야하는 경우 htaccess 로 비밀번호 를 설정 해야합니다.