FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

.htaccess 질문 IP 차단시 나오는 페이지 변경

게시판 질문게시판 .htaccess 질문 IP 차단시 나오는 페이지 변경

  • This topic has 5개 답변, 3명 참여, and was last updated 5 years, 6 months 전에 by 난해주님. This post has been viewed 21 times
  • 만든이
    게시글
  • #13644
    GCC
    참가자
    • 게시글2
    • 댓글8
    • 총합10
    • ★★
    @lazysod

    .htaccess 에서 특정 IP를 차단한 환경에서

    해당 IP가 도메인으로만 접속시 Fedora Test Page 가 나옵니다.
    (http://도메인/파일명.html 등으로 접속하면 403 에러가 나오지만)
    Fedora Test Page 대신에 다른 페이지로 나오게 설정을 .htaccess 에서 가능 할까요?


4 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #15461
      난해주님
      참가자
      • 게시글114
      • 댓글337
      • 총합451
      • ★★
      @workman729

      뭔가 착오가 있으신 것 같습니다. 만약 .htaccess로 어떤 유저의 ip를 차단하면 도메인으로도 접속할 수 없습니다.
      403 에러가 나옵니다.(설정한대로)

      저도 sql 인젝션 공격으로 인해 같은 고민을 한적이 있습니다만 user agent을 막는데는 성공했으나
      특정 페이지로의 이동은 어떻게 해도 성공하지 못했습니다. (일괄적으로 적용되더군요)

      제가 몰라서 그럴수도 있겠지만 특정 페이지로 이동하게 설정하면 전체 접속자에게 모두 노출되어
      .htaccess로는 클라이언트의 요구를 들어 줄수 없었습니다.

      즉, 해당 조건을 충족할 때 페이지로 이동해야 하는 데 접속자 모두가 이동하게 되더군요!

      그래서 php로 특별한 작업을 병행하여 작업을 한적이 있습니다.

      단순히 아이피만을 차단하여 특정안내 페이지로(에러 페이지 아님) 이동 시키려면
      아파치 보다는 php로 적용하는 것이 나으리라 생각합니다.

      한번 고민해 보시고 성공하신다면 정보를 공유해 주시면 감사하겠습니다.

    • #15462
      태랑
      키 마스터
      • 게시글207
      • 댓글879
      • 총합1086
      • ★★
      @admin

      403 에러가 나왓을때 원하는 페이지를 아파치상에서 설정 할수 있습니다.

      http://stackoverflow.com/questions/8703540/custom-error-403-page-php

      위의 링크를 참조해서 아파치의 httpd.conf 에서 설정하시면 됩니다.

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

    • #15463
      GCC
      참가자
      참가자
      • 게시글2
      • 댓글8
      • 총합10
      • ★★
      @lazysod

      Fedora Test Page 가 나오는 시점이 403에러와 조금 다른 것 같아서 난감 하네요.

      http://도메인/ 으로 접속할때 DirectoryIndex 설정으로 초기 페이지가 나오는데

      그 이전에 차단되어 /etc/httpd/conf.d/welcome.conf 이파일의 내용이 Fedora Test Page 화면을 띄우고 있습니다.


      초기 페이지를 index.php 라고 할때

      특정 IP를 차단하고 FilesMatch 설정으로 index.php 는 허용해 주었습니다.(Allow from all)

      http://도메인/index.php 로 접속할땐 차단한 IP도 열람이 가능한데

      문제는 http://도메인/ 으로 접속할때 자동으로 index.php 로 매핑이 안되고 Fedora Test Page 가 나오네요.


      403에러 설정을 다른 페이지로 해놔도 마찬가지 입니다. http://도메인/디렉토리명 또는 파일명/ 이렇게 하면 403에러가 적용되는 것 같고 http://도메인/ 이것만으론 여전히 Fedora Test Page 를 출력 하고 있습니다.

    • #15464
      난해주님
      참가자
      • 게시글114
      • 댓글337
      • 총합451
      • ★★
      @workman729

      뭔가 조금 이상한데요! 제가 무식해서 일수 있습니다만
      ip를 차단하면 다 차단되지 어떤 페이지는 접속되고 어떤 페이지는 접속이 안되다고 하시니
      룰을 보여주시지 않은 이상 이해하기 어렵습니다.

      ErrorDocument 403 /error/403.html
      ErrorDocument 404 /error/404.html
      ErrorDocument 500 /error/500.html

      Order Deny,Allow
      Deny from 115.23.xxx.xx

      위와 같이 이용하는 것이 보통인데 차단시 위의 에러 문서가 나오는 것이 아니므로 실제로 룰을 보여주시면 이해되리라 봅니다.
      이 부분은 제가 몰라서 제대로 이해하지 못하고 있을 수도 있습니다.

      또한 rewrite 룰을 작성 하여 에러가 나오는 것은 httpd.conf 파일에서 설정한 에러 페이지가 나오는 것이 아니지 않나요?
      맨화면에 오리지날 403 에러가 나오고 약간의 멘트가 나옵니다.

      질문자의 의도는 아이피가 차단 될 때 .htaccess의 rewrite 룰을 이용하여 임의의 페이지로(에러 페이지 아님) 이동 하고자 한다라고 저는 질문의 취지를 이해 하였습니다.

      저도 그것을 실행하기 위해 무수한 시행착오를 겪여지만 의도대로 되지 않습니다.

      예를 들어 임의 로봇을 차단하고자 한다면

      RewriteEngine On
      RewriteBase /
      RewriteCond %{HTTP_USER_AGENT} ^.*\.mail\.ru [NC,OR]
      RewriteCond %{HTTP_USER_AGENT} ^.*fc5* [NC,OR]
      RewriteRule ^(.*)$ - [F,L]

      위에선 406 에러가 나오지만 마지막 코드가 실제로 차단하는 수단이므로 이를 임의의 페이지로 이동하게 했을 때
      모든 사용자에게 노출 된다라는 의미로 글을 남긴 것 입니다.

    • #15465
      난해주님
      참가자
      • 게시글114
      • 댓글337
      • 총합451
      • ★★
      @workman729

      위의 예제에서 유저 에이전트를 차단하는 것은 맨 마지막 코드이므로 임의의 페이지로 이동하는 것이 성공하신다면
      저에게 제공를 제공해 주신다면 감사 드리겠습니다.

4 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.