본문으로 건너뛰기

운영중인 홈페이지내에 페이지 무단링크를 방지할 수 있는 설정방법이 있나요?

💡 요약 정리

  • FTP(파일을 서버에 올리고 내려받는 프로그램)로 접속해 .htaccess 파일로 설정할 수 있습니다.
  • 파일 이름은 반드시 .htaccess여야 합니다.
  • 예시 1: 내 도메인·검색엔진·직접 접근(Referer 없음) 허용, 그 외 차단
  • 예시 2: 특정 사이트(A.com)만 차단
  • 예시 코드에서 mydomain.com, A.com은 고객님의 실제 도메인으로 바꿔 적용하세요.

1. 적용 개요와 주의사항

  • 홈페이지 내 페이지에 대한 무단 링크(직접 링크)를 Referer 기반으로 통제할 수 있습니다. FTP로 접속해 웹 루트(홈페이지 최상위 폴더, index 파일이 있는 경로)에 .htaccess 파일을 업로드해 적용합니다.
  • 주의: 파일 이름을 글자 그대로 .htaccess라고 지정해야 합니다.
  • FTP는 파일을 서버에 올리고 내려받는 프로그램입니다. 사용 중인 FTP 클라이언트에서 웹사이트 계정으로 접속해 파일을 업로드하면 됩니다.

2. 설정 방법

2-1. .htaccess 파일 만들기와 업로드

  1. 메모장 등 텍스트 편집기로 .htaccess 파일을 만듭니다. 확장자(.txt 등)를 붙이지 마세요.
  2. 아래 예시 중 원하는 정책에 맞는 코드를 파일에 붙여넣습니다.
  3. FTP로 접속해 웹 루트(홈페이지 최상위 디렉터리)에 .htaccess 파일을 업로드합니다.

2-2. 예시 1) 내 도메인·검색엔진·직접 접근 허용(그 외 차단)

다음 코드는 내 도메인, 일부 검색엔진에서 온 요청, 그리고 Referer가 없는 직접 접근만 허용하고 나머지는 차단합니다.

SetEnvIf Referer mydomain.com go_in
SetEnvIf Referer naver.com go_in
SetEnvIf Referer empas.com go_in
SetEnvIf Referer ^$ go_in

Order Deny,Allow
Allow from env=go_in
Deny from all
  • mydomain.com은 고객님의 실제 도메인으로 바꿔주세요.
  • naver.com, empas.com 항목을 넣는 이유는 검색엔진이 고객님의 홈페이지를 링크한 경우를 허용하기 위해서입니다.
  • ^$는 Referer가 비어 있는(없는) 경우를 허용한다는 의미입니다.

2-3. 예시 2) 특정 사이트(A.com)만 차단

특정 사이트에서 오는 요청만 차단하고, 그 외는 허용하려면 다음과 같이 설정합니다.

SetEnvIf Referer A.com go_out

Order Allow,Deny
Allow from all
Deny from env=go_out
  • A.com을 차단하려는 실제 도메인으로 바꿔주세요.

3. 동작 원리와 한계

  • 위 설정은 요청 헤더의 Referer 값을 기준으로 허용/차단을 판단합니다.
  • ^$를 허용하면 Referer가 없는 직접 접근(예: 주소창에 직접 입력)도 허용됩니다.

4. 자주 하는 실수

  • 파일명을 .htaccess.txt처럼 저장하는 경우: 반드시 .htaccess이어야 적용됩니다.
  • 예시 코드에서 도메인 문자열을 교체하지 않음: mydomain.com, A.com을 실제 도메인으로 변경해야 합니다.
  • 업로드 위치가 잘못됨: 웹 루트가 아닌 다른 폴더에 올리면 의도한 위치에 규칙이 적용되지 않습니다.