Apache의 .htaccess와 .htpasswd를 이용하여 웹페이지 보안을 만들기

Apache Web Server에서 제공하는 기능중에 .htaccess와 .htpasswd가 있습니다. 이를 이용하면, 웹페이지에 접근시에 특정한 디렉토리에 대한 Username과 Password를 물어보는 기능을 제공하여 특정 웹 디렉토리를 접근하는데 보안기능을 설정 할 수 있습니다.

이미 인터넷에 많은 방법들이 소개 되어 있지만, 여기서는 SSH나 Linux Shell에서 www로 설정된 directory를 접근 가능하다는 전제하에서 설명하겠습니다. 기준도 일반적인 Linux shell에서의 쓰임으로 설명합니다.

1. .htaccess를 만듭니다.

.htaccess에 관련한 정보는 Apache Server의 Document를 참조하시기 바랍니다.

다음은 Sample .htaccess 입니다.

AuthUserFile <SOME-DIRECTORY>/.htpasswd
AuthName "My protected files"
AuthType Basic

<Limit GET>
require valid-user
</Limit>

2. .htpasswd를 만듭니다.

cd <SOME-DIRECTORY>/.htpasswd
htpasswd -c .htpasswd <USER NAME>

htpasswd -c 명령어는 .htpasswd 파일을 새롭게 생성하는 역할을 합니다. 만일 여러명의 username과 password를 넣고 싶다면, -c option을 주지 않으면 됩니다.

.htaccess와 .htpasswd 를 pair로 생성하여 특정 디렉토리에 카피한다면, 그 디렉토리를 보호 할 수 있습니다.

예를 들어 어떤 웹에 쓰이는 디렉토리 Path가 “www/test-protect/abcd” 라고 한다면, 위의 .htaccess와 .htpasswd를 “www/test-protect/abcd”에 카피한다음에 http://<SOME-DOMAIN>/test-protect/abcd 로 접근할때 Username과 Password를 물어보는 창이 뜹니다. 이때 위에 입력한 Username과 Password를 정상으로 입력하면 그 디렉토리를 정상으로 접근 할 수 있습니다.

You May Also Like

3 Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다