불량 사용자나 스패머, 사이트 글을 복제하는 사용자 혹은 특정 웹사이트에서 불필요하게 사이트로 유입되는 경우 .htaccess를 통해 IP나 유입 사이트 주소로 차단할 수 있습니다. cPanel 환경을 제공하는 웹호스팅을 이용하는 경우 IP Blocker 등의 툴을 사용하여 IP 주소를 차단하는 것이 가능합니다. 워드프레스에서는 보안 플러그인에서 IP 주소를 차단하는 기능을 제공하기도 합니다.
[ 이 글은 최신 정보를 추가하여 재발행되었습니다. ]
htaccess를 사용하여 특정 IP 주소 또는 특정 도메인 차단하기
특정 IP 주소/도메인 차단하기
특정 IP 주소나 도메인으로부터 사이트 접근을 차단하고 싶은 경우 FTP 클라이언트를 사용하여 FTP에 접속한 후에 .htaccess 파일을 열고 아래와 같이 편집하도록 합니다. .htaccess 파일이 없는 경우 루트에 하나를 만들도록 합니다. (FTP 사용법은 이 글을 참고해보시기 바랍니다.)
다음 형식을 사용하면 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>
특정 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>
IP 주소 범위를 차단하려는 경우 다음 글을 참고해보세요.
특정 참조 도메인으로부터 유입되는 방문자 차단하기
참조 도메인(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
cPanel을 제공하는 웹호스팅(예: 블루호스트)에서 IP 주소 차단 설정하기
Bluehost 등 cPanel을 제공하는 웹호스팅을 이용하는 경우 cPanel에서 IP 주소로 사용자 접속을 차단하는 툴이 제공됩니다. 블루호스트에서는 IP Blocker 툴을 사용할 수 있습니다.

IP 주소를 하나씩 차단할 때에는 192.168.0.1과 같이 IP Address or Domain 필드에 추가하면 됩니다. IP 주소 범위로 차단하고 싶은 경우 다음과 같은 형식으로 입력할 수 있습니다.
192.168.0.1-192.168.0.40
192.168.0.1-40
192.
192.만 입력하면 192.으로 시작하는 모든 IP 주소(192...*)가 차단됩니다.
워드프레스 보안 플러그인에서 IP 주소 차단하기
워드프레스 사이트를 운영하는 경우 Wordfence나 iThemes Security와 같은 보안 플러그인을 통해 IP 주소를 차단하는 것이 가능합니다. 예를 들어, iThemes Security를 사용하는 경우 알림판 > Security > Dashboard로 이동하여 Banned Users 섹션에서 차단할 IP 주소를 추가할 수 있습니다.

Add Ban 섹션에서 Host에 IP 주소를 입력하고 Notes 필드에 참고 사항을 입력한 다음 Save(저장)를 클릭하면 추가됩니다.
워드프레스 스팸 IP 차단

워드프레스에서 스팸 때문에 고민하는 경우 Akismet이나 IP Blacklist Cloud 등의 플러그인을 사용할 수 있습니다.
업데이트: IP Blacklist Cloud는 1년 이상 업데이트가 안 되고 있기 때문에 사용하지 않는 것이 바람직합니다. Akismet는 500만 개가 넘는 워드프레스 사이트에 설치되어 사용되고 있는 인기 스팸 차단 플러그인입니다. 이 플러그인을 사용하면 효과적으로 스팸을 차단할 수 있습니다.
안녕하세요.
다음의 .htaccess 파일을 운용중에 있습니다.
# BEGIN WordPress
# "BEGIN WordPress"와 "END WordPress" 사이의 지시문(줄)은
# 동적으로 생성되며 워드프레스 필터를 통해서만 수정해야합니다.
# 이 표시 사이의 지시문을 변경하면 덮어쓰게 됩니다.
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress
# Wordfence WAF
Require all denied
Order deny,allow
Deny from all
# END Wordfence WAF
unionmedical.odenwar.net 의 하위 도메인에만 특정아이피(2개 이상)을 허용 하고 싶은데요.
이경우 어떻게 해야 할까요?
멀티사이트로 운영 중인가요?
조금 더 자세히 설명해주시겠어요?
안녕하세요.
관련 내용을 찾게 되었습니다.
하기와 같이 작업이 필요에 의해서 작업이 되었습니다.
2차 도메인 내용은 수정 좀 부탁드려도 될까요?
https://odenwar.net/%ed%8a%b9%ec%a0%95-%ec%95%84%ec%9d%b4%ed%94%bc-%ec%a0%91%ec%86%8d-%eb%b6%88%ea%b0%80-%ec%bd%94%eb%93%9c-%ec%9e%91%ec%84%b1/
휴 ... 드디어 됩니다. 다른사람들이 알려준 소스는 안되던데
그사람들 전부 사짜인가 봅니다.
페이팔 계정있으시면 후원드리겠습니다.
잘 작동한다니 저도 기쁘네요.
페이팔 계정 정보는 후원 페이지에서 확인하실 수 있습니다.ㅎ
https://www.thewordcracker.com/forum/donation
특정 도메인을 특정아이피로만 접속가능하게 하는 명령어가 있나요 ?
한호스팅에 4개의 도메인이 연결되어 있다고 할때 이중 1개의 도메인만
지정된 아이피로만 접속가능하게 하는 방법
있나요 ?
안녕하세요, 박상길님.
이 부분에 대해서는 정확하지 않지만 다음 글을 참고하여 응용하면 될 것도 같습니다.
https://webmasters.stackexchange.com/questions/114014/deny-access-to-one-of-two-sites-using-the-same-htaccess
예시:
<If "%{HTTP_HOST} = 'www.example.com'">
order deny,allow
allow from 31.24.232.14
allow from 127.0.0.0
allow from 192.168.0.0
deny from all
</If>
링크된 문서를 자세히 한 번 읽어보시기 바랍니다.
알려주신 예시와 링크를 따라가서 해본결과
작동이 안되네요 ^^ 차단해야 하는데 전부 접속됩니다.
그런데 아래 소스가 그나마 차단이 완벽한데요
아이피를 입력했는데두 무조건 차단만 합니다. 뭐가 잘못되었나요 ?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?subdomain\.com$ [NC]
RewriteCond ${ipmap:%{REMOTE_ADDR}} !^(111\.111\.111\.1|11\.111\.|10\.|1\.2\.3\.4)$
RewriteRule ^ - [F]
다음과 같은 형식으로 사용해야 하는 것 같습니다.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?subdomain\.com$ [NC]
RewriteCond %{REMOTE_ADDR} !^(127\.0\.0\.1|192\.168\.|10\.|1\.2\.3\.4)$
RewriteRule ^ - [F]
ip 차단은 되지만 도메인 차단은 안되는것 같습니다.
알려주셔서 감사합니다.
"특정 참조 도메인으로부터 유입되는 방문자 차단하기" 부분의 코드도 작동하지 않나요?
글에 언급한 내용처럼 deny from .*example.com.*
그냥 하나의 도메인을 차단해봤어요. 서버 여러곳에 여러대 두고 테스트하는중이라....
"특정 참조 도메인으로부터 유입되는 방문자 차단하기"의 코드가 아마 원하는 용도의 코드일 것 같습니다.
코드 자체는 틀린 것이 없습니다. (https://www.quora.com/How-do-I-block-a-whole-domain-in-htaccess 참고해보세요.) 하지만 도메인을 차단하는 코드는 원하는 대로 작동하지 않을 것 같습니다. 이 부분은 테스트가 필요할 것 같은데요. 가령 어떤 사이트에서 내 사이트의 이미지 URL을 링크한다면 해당 사이트에서 내 사이트의 URL에 접근하려고 시도할 것입니다. 그럴 때 차단하는 코드가 아닐까 생각되네요.
혹시 example.com/elelel 를 특정IP만 허용하고 싶다하면 *example\.com\.elelel* 를 넣어도되나요?
안녕하세요?
elelel 폴더에 특정 IP만 허용하고 싶다면 적절한 코드가 포함된 .htaccess 파일을 만든 후에 해당 폴더에 업로드하면 될 것입니다.
https://www.techrepublic.com/blog/web-designer/quick-tip-how-to-limit-access-to-a-web-directory-by-ip-address/ 참고해보세요.
카페24에 아이피 밑에 차단하는 버튼이 있더라구요..^^
제가 왜 이제 발견했는지..ㅋㅋ
그냥 아..~~ 트래픽이 많구나 이런 생각을 가졌데 그것이 아니었내요..!!
저는 오늘 특정 ip를 차단 했습니다.
호스팅에서 하루에 한번은 트래픽을 보는데 유독 새벽1시에 특정 아이피 1개가 트래픽 용량 2.5G중 2.0G를 잡아 먹네요..
내일을 봐야 알 수 있을 듯 해요..!!
2G를 잡아 먹으면 굉장한 것인데요.
카페24에서 그런 공격을 차단하지는 못하는가 보네요.
혹시나 싶어 사용 중인 호스팅의 트래픽을 확인해보니 약정한 것보다 1/10 정도밖에 사용하고 있지 않네요.