접근금지 ip를 특정페이지로 이동시키고 관리자에게 메일로 알려주기 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

접근금지 ip를 특정페이지로 이동시키고 관리자에게 메일로 알려주기 정보

접근금지 ip를 특정페이지로 이동시키고 관리자에게 메일로 알려주기

본문

/***************************************************************
제목 : 그누보드 접근금지 ip를 특정페이지로 이동시키고 관리자에게 메일로 알려주기
작성자 : saveas 미니™
작성일 : 2010년 01월 6일
HOME : http://www.iegate.net
****************************************************************/

그누보드가 아닌 다른사이트에서 사용하던 소스입니다.
 include하여 차단ip의 접속자에게 로딩중페이지를 보여주던것인데..include 없이 개별페이지에서 작동하도록 조금 수정하였습니다.
보시고 더 좋은 의견이 있다면 댓글 남겨 주세요 ^^

그누보드 관리자모드에서 차단한 ip는 접근 불가합니다. 라는 썰렁한 글자만 출력되는 걸 보고 급히 만들어 봤습니다.

관리자모드 기본환경설정에서 차단한 ip를 특정페이지로 이동 시키고 관리자에게 메일로 알려줍니다.

# 그누보드 루트의 common.php 파일을 열어 406/ 421 라인의 die ("접근 불가합니다.");
부분을 수정합니다.
ex)  die ("<script>location.href='/loading.html'</script>");

# 차단 ip를 이동 시킬 페이지를 하나 만듭니다.
# 아래 소스에서 관리자메일 주소와 하단의 html출력부분을 자신의 홈페이지에 맞게 수정합니다.
# 수정이 완료되면 홈페이지로 업로드

ex) loading.html
++++++++++++++++++++++++++++++++++++++++++++++++++++

<?
//이메일전송 0,1중 선택 1은 전송
$notify = 1;
//관리자이멜일
$emailaddress = "관리자이메일주소"; 
 
## 0 = 로딩페이지를 보여주지않음
## 1 = 거부아이피에게 로딩페이지를 보여줌
$show_fake_html = 1;

$from_ip = getenv("REMOTE_ADDR");
$docroot = getenv("SERVER_NAME");

function send_email()
  {
   global $HTTP_REFERER, $emailaddress, $REMOTE_ADDR,
   $show_fake_html;
   $today = getdate(); 
   $month = $today[mon]; 
   $mday = $today[mday]; 
   $year = $today[year]; 
   $hours = $today[hours];
   $minutes = $today[minutes];
   $errortime = "$year/$month/$mday/ $hours:$minutes 입니다."; 

   $email_subject = "[접속거부] $REMOTE_ADDR";
 
   $message .= "다음의 아이피를 접속거부 하였습니다.^^v\n\nThe IP $REMOTE_ADDR
   접속시도 시간은";
   $message .= "$errortime.\n\n"; 
   $message .= "Referring 페이지는 다음과 같습니다.:\n$_SERVER[HTTP_REFERER]\n\n";

    if ($show_fake_html == 1)
        {
        $message .= "접속금지 아이피 대역의 사용자에게 로딩중 페이지를 보여 주었습니다..^^ㅋㅋ\n";
        }
 
   mail("$emailaddress", $email_subject, $message, "From: $emailaddress");
   return;
  }
    {
    if ($notify == 1 ) 
        {
        send_email(); 
        }
if ($show_fake_html == 1)
    {
################## 로딩 / 거짓페이지부분 ########################
?>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<style type="text/css">
<!--
body {  margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;
background-color: #FFFFFF}}
-->
</style>
</head>

<body>
<div id="loadingBar" style="position:absolute; top:45%; left:45%;">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="260" height="100">
<param name="movie" value="/loading.swf">
<!--[if !IE]> <-->
<object type="application/x-shockwave-flash" data="/loading.swf" width="260" height="100"> <p><img src="/loading.gif" alt="페이지로딩중" /></p>
</object> <!-->
<![endif]-->
</object>
</div>
</body>
</html>
<? 
    }
    exit;
    }
?>

++++++++++++++++++++++++++++++++++++++++++++++++++++

추천
4

댓글 2개

전체 2 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT