접근금지 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