앞서 생성한 파일은 아무런 내용이 없는 빈 파일이므로 아래와 같은 내용을 입력하자. # vi .htaccess ===================================================== AuthName "XXXX 관리자 페이지" AuthType Basic AuthUserFile /var/www/html/admin/.htpasswd AuthGroupFile /dev/null ErrorDocument 401 "인증 실패! 당신은 인증된 사용자가 아닙니다."
<Limit GET POST> satisfy any order deny,allow deny from all allow from xxx.xxx.xxx.xxx require valid-user </Limit> =====================================================
- AuthName는 암호 인증창에 나타나는 설명을 적는 곳이다. 이곳에 적은 내용이 인증창에 문구로 나오게 된다. - AuthType은 서버가 사용하는 인증방식을 말한다. Basic과 Digest의 2가지가 있으나 일반적으로 Basic을 사용한다. - AuthUserFile는 .htpasswd 파일의 물리적인 경로를 지정해 준다. 여기서 .htpasswd 파일은 뒤에서 다룰 내용으로... 암호 인증창이 나타났을때 여기에 입력할 ID와 Password를 저장하고 있는 파일을 말한다. .htaccess에서는 사용자 인증을 요구해주고, 실질적인 사용자 인증은 .htpasswd 파일에서 확인하게 된다. .htpasswd는 다른 파일명을 사용해도 된다. - AuthGroupFile는 그룹으로 인증확인을 할경우에 그룹인증파일명을 적는다. - ErrorDocument는 인증 실패시 화면에 보여줄 문구를 지정한다. 또는 아래와 같이 미리 만들어둔 오류 페이지를 지정할 수도 있다. ErrorDocument 401 /admin/subscription.html - Limit GET POST : 접근 제한을 지정하는 부분이다. 여기서는 GET 방식과 POST 방식의 접근만을 허용한다. satisfy any : 여러 설정의 충족 여부를 나타내는 항목으로... 아래에 자세히 설명 order deny,allow ; 적용 순서를 나타내는 것으로 거부(deny) 이후에 허용(allow) 순으로 적용한다. (이후의 설정 내용을 참고하라.) deny from all ; 모든 접속을 거부(deny) 한다. allow from ... ; 지정된 IP로 부터의 접속을 허용한다. require valid-user ; 인증된 사용자만의 접속을 허용한다. valid-user 대신 직접 ID를 명시하여 해당 ID만을 허용할 수도 있다.
※ satisfy는 all과 any를 지시자로 가질 수 있으며, 각 의미는 아래와 같다. satisfy all : allow from에서 허용된 IP와 require에서 정의된 사용자 모두가 맞아야만 접속 허용 (&& 개념) satisfy any : allow from에서 허용된 IP와 require에서 정의된 사용자 중 하나만 맞으면 접속 허용 (|| 개념)
위는 지시어를 모두 사용하였을 경우에 대한 예제로서, 아래와 같이 간단하게 만들수도 있다. ===================================================== AuthName "XXXX 관리자 페이지" AuthType Basic AuthUserFile /var/www/html/admin/.htpasswd
<Limit GET POST> order deny,allow deny from all allow from xxx.xxx.xxx.xxx require valid-user </Limit> ===================================================== |