자동글 방지 팁입니다.

· 17년 전 · 1878

우선 메인에서
session_start();
$main_page="y";
session_register("main_page");
이런식으로 세션을 하나 만듭니다.

그리고 deny_invalid.php 라는 파일을 만들어서 모든 페이지들이 이 파일을 포함시키도록 합니다.
그리고 파일내용에 다음과 같이 부정 접속자를 걸려내서 차단목록을 작성하도록 만듭니다.

<?
session_start();

$SERVER_ROOT=$_SERVER["DOCUMENT_ROOT"];
$REMOTE_ADDR=$_SERVER["REMOTE_ADDR"];
$REQUEST_URI=$_SERVER["REQUEST_URI"];

//echo $REMOTE_ADDR;

/** 메인페이지를 통해서 들어오도록 강요 **/
if($HTTP_SESSION_VARS['main_page']!="y"){ exit; }

/** 허용 클라이언트인지 검사 **/
$is_admin=false;
if(in_array($REMOTE_ADDR,array("119.66.185.XX"))){ $is_admin=true;return true; }

/** 거부 클라이언트인지 검사 **/
$deny_list=implode(",",file("$SERVER_ROOT/deny.list"));
if(strpos($deny_list,$REMOTE_ADDR)!==false){ header("HTTP/1.1 403 Forbidden");exit; }

/** 불량 접속자인지 검사 **/
function add_bad_client($detail){
 global $SERVER_ROOT;
 global $REMOTE_ADDR;
 $fp=fopen("$SERVER_ROOT/XX.list","a+");
 fwrite($fp,"[".date("Y-m-d H:i:s",time())."] $REMOTE_ADDR ".$detail."\r\n");
 fclose($fp);
 header("HTTP/1.1 403 Forbidden");
}

list($usec, $sec) = explode(" ",microtime());
$access_time=((float)$usec+(float)substr($sec,7));

$access_table=$HTTP_SESSION_VARS['access_table'];
$access_table[$REQUEST_URI]["call"]++;
$access_table[$REQUEST_URI]["time"][]=$access_time;
session_register("access_table");

 /**
 특정페이지의 호출 횟수가 비이상적으로 많은 경우
 불량 접속자로 처리한다.
 **/
[로직부분]

 /**
 페이지를 호출하는 간격이 너무 빠른 경우
 불량 접속자로 처리한다.
 **/
 [로직부분]

?>

[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
17년 전 조회 1,916
17년 전 조회 2,599
17년 전 조회 1,307
17년 전 조회 3,185
17년 전 조회 2,165
17년 전 조회 2,605
17년 전 조회 1,411
17년 전 조회 1,758
17년 전 조회 1,153
17년 전 조회 1,207
17년 전 조회 1,783
17년 전 조회 1,230
17년 전 조회 4,310
17년 전 조회 1,507
17년 전 조회 2,007
17년 전 조회 7,092
17년 전 조회 1,385
17년 전 조회 1,899
17년 전 조회 3,133
17년 전 조회 1,226
17년 전 조회 1,987
17년 전 조회 1,159
17년 전 조회 1,858
17년 전 조회 2,152
17년 전 조회 2,967
17년 전 조회 1,245
17년 전 조회 1,335
17년 전 조회 1,564
17년 전 조회 1,227
17년 전 조회 4,361
17년 전 조회 3,905
17년 전 조회 2,793
17년 전 조회 1,593
17년 전 조회 1,338
17년 전 조회 1,607
17년 전 조회 2,527
17년 전 조회 1,742
17년 전 조회 2,024
17년 전 조회 1,314
17년 전 조회 1,041
17년 전 조회 1,126
17년 전 조회 2,928
17년 전 조회 2,466
17년 전 조회 2,047
17년 전 조회 2,046
17년 전 조회 1,801
17년 전 조회 2,246
17년 전 조회 2,017
17년 전 조회 1,991
17년 전 조회 1,879
17년 전 조회 1,213
17년 전 조회 1,831
17년 전 조회 2,233
17년 전 조회 2,305
17년 전 조회 1,644
17년 전 조회 1,511
17년 전 조회 1,362
17년 전 조회 2,580
17년 전 조회 2,675
17년 전 조회 2,070
17년 전 조회 2,419
17년 전 조회 2,724
17년 전 조회 1,325
17년 전 조회 1,192
17년 전 조회 6,329
17년 전 조회 1,180
17년 전 조회 1,630
17년 전 조회 1,781
17년 전 조회 1,102
17년 전 조회 1,192
17년 전 조회 1,895
17년 전 조회 1,523
17년 전 조회 3,622
17년 전 조회 1,209
17년 전 조회 1,915
17년 전 조회 1,170
17년 전 조회 1,388
17년 전 조회 2,363
17년 전 조회 2,018
17년 전 조회 1,039
17년 전 조회 1,041
17년 전 조회 1,092
17년 전 조회 6,048
17년 전 조회 5,856
17년 전 조회 2,033
17년 전 조회 1,024
17년 전 조회 1,123
17년 전 조회 2,084
17년 전 조회 1,516
17년 전 조회 1,161
17년 전 조회 1,189
17년 전 조회 1,130
17년 전 조회 1,045
17년 전 조회 3,963
17년 전 조회 2,172
17년 전 조회 1,620
17년 전 조회 2,769
17년 전 조회 1,472
17년 전 조회 1,156
17년 전 조회 1,176
🐛 버그신고