Tip htaccess를 사용하여 특정 IP 주소 또는 특정 도메인 차단하기
페이지 정보
본문
불량 사용자나 스패머, 사이트 글을 복제하는 사용자 혹은 특정 웹사이트에서
불필요하게 사이트로 유입되는 경우 .htaccess를 통해 IP나 유입 사이트 주소로 차단할 수 있습니다.
FTP 클라이언트를 사용하여 FTP에 접속한 후에 .htaccess 파일을 열고 아래와 같이 편집하도록 합니다.
.htaccess 파일이 없는 경우 루트에 하나를 만들도록 합니다.
1. 특정 IP 주소/도메인 차단하기
다음 형식을 사용하면 192.168.1.25, 192.168.1.26, example.com을
제외한 모든 IP 및 도메인이 허용됩니다. (즉, 별도로 지정된 IP 주소나 사이만 차단됨).
# allow all except those indicated here
<Files *>
order allow,deny
allow from all
deny from 192.168.1.25
deny from 192.168.1.26
deny from .*example\.com.*
</Files>
2. 특정 IP 주소/도메인만 허용하기
다음 스크립트를 .htaccess에 입력하여 지정된 IP와 도메인을 제외한 모든 IP와 도메인을 차단할 수 있습니다.
# Deny access to everyone, except those listed here:
<Files *>
order deny,allow
deny from all
deny from 192.168.1.21
deny from 192.168.1.22
allow from .*example\.com.*
</Files>
3. 특정 참조 도메인으로부터 유입되는 방문자 차단하기
참조 도메인(Referring domain)별로 원치 않는 방문자를 차단하려면
아래와 같은 스크립트를 사용합니다. (domain1과 domain2를 차단할 참조 도메인으로 대체하도록 합니다.)
# block visitors referred from indicated domains
RewriteEngine on
RewriteCond %{HTTP_REFERER} domain01\.com [NC,OR]
RewriteCond %{HTTP_REFERER} domain02\.com [NC]
RewriteRule .* - [F]
# Source: mediatemple.net
댓글목록
무와보님의 댓글의 댓글
무와보 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (175.♡.♡.20) 작성일
1번 방법을 예를 들면
<Files *>
order allow,deny
allow from all
deny from abc.defgh.com.vn
</Files>
이렇게 되겠네요.
*이 없는 이유는 .*example\.com.* 처럼 example 앞뒤로 .com/뒤로 붙는게 필요 없을 것 같으니 빼도 될 것 같습니다.
그런데 위의 도메인을 막으려는 것은 위 도메인으로 root 접속 같은 것이 있었기 때문일 것 같은데요..
이런 경우에는 .htaccess 보다는 firewall을 사용하는게 더 낫지 않을까 싶습니다.