요즘 어찌나 많은 해외 아이피들이 서버에 접속을 해대는지 시스템 부하가
장난 아니죠...
그래서 php 소스로 접속한 게 국내 아이피가 아니면 그 접속을 시도한
본인 아이피로 되돌려 보내는 통쾌한 복수를 할 수 있게 만들어 보았습니다...^^
압축을 풀면 ip_grant.php, KR_NIPLIST_CLEANED.csv 이렇게 두 개의 파일이
나오는데, KR_NIPLIST_CLEANED.csv에 등록된 국내 아이피 대역만 접속을
허용해 주도록 되어 있습니다.
이것을 그누보드에 적용하려면 extend 폴더에 넣어도 되고, common.php
파일 상단에 잉클루드 시켜도 됩니다...
한번 해보세요... 접속량이 팍 줄어듭니다...ㅎㅎㅎ
댓글 4개
오 감사합니다. 테스트해보고 잘쓸게요~!! ㅎㅎ
저도 최근 작성한 연관 소스코드 하나 공유드립니다~
예. Dk3T80'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z, 49.247.14.115
HTTP_X_FORWARDED_FOR에 위처럼 프록시IP 장난질 하는 애들이 있어서 텔레그램으로 알려주고, 사이트 접근통제 하는 코드입니다.
function checkAndBanInValidIp(){
$header_ips = $_SERVER['HTTP_CLIENT_IP'] . ' , ' . $_SERVER['HTTP_X_FORWARDED_FOR'] . ' , ' . $_SERVER['REMOTE_ADDR'];
$_ip_array = explode(',', $header_ips);
foreach ($_ip_array as $_ip) {
$ip = trim($_ip);
if($ip){
if(!isValidIp(trim($_ip))){
// 올바르지 않은 IP라면 차단하기 위해 함수 호출
// 예. Dk3T80'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z, 49.247.14.115
$myip = myip();
// report
// reportTelegram("Invalid IP address detected in X-Forwarded-For header");
// ban
$cf_intercept_ip = sql_fetch(" SELECT cf_intercept_ip FROM g5_config limit 1")['cf_intercept_ip'];
$exist = str_contains($cf_intercept_ip, $myip);
if($exist){
// reportTelegram("already IP BANNED previously : ".$myip);
}else{
// reportTelegram("IP BAN : ".$myip);
$query = " update g5_config set cf_intercept_ip = CONCAT(cf_intercept_ip, '\n".$myip."') ";
sql_query($query);
}
die ("invalid IP");
}
}
}
}
function isValidIp($ip){
return filter_var($ip, FILTER_VALIDATE_IP);
}
게시글 목록
| 번호 | 제목 |
|---|---|
| 17657 | |
| 17655 | |
| 17654 | |
| 17653 |
JavaScript
ThreeJS - 3D Bar and Progress Bar
1
|
| 17652 |
node.js
RAM점유크기에 의한 노드서버관리
|
| 17651 |
JavaScript
Javascript Undo, Redo 기능 구현하기
|
| 17650 | |
| 17642 |
node.js
nodejs서버가 사용중인 메모리에 대한 로그
|
| 17633 |
node.js
node.js에서 스케쥴링작성
8
|
| 17632 | |
| 17631 |
MySQL
InnoDB와 MyISAM의 우단점
|
| 17630 | |
| 17628 |
JavaScript
자바스크립트 기반으로 HTML Canvas에 이미지를 불러들여 테두리색입히기
|
| 17624 | |
| 17623 | |
| 17620 |
node.js
tcp소켓과 websocket 의 비교
2
|
| 17618 |
JavaScript
JavaScript로 이미지의 부분 영역을 따내기
|
| 17617 | |
| 17614 | |
| 17612 | |
| 17611 | |
| 17610 | |
| 17609 | |
| 17608 |
node.js
Node.js로 지속적인 핑 결과를 파일로 저장
|
| 17607 |
정규표현식
특수문자 제거, 우리글짜가 있는지 체크
|
| 17604 |
node.js
Node.js에서 PDF 파일의 페이지 수를 얻기
|
| 17603 | |
| 17602 |
node.js
Node.js로 워터마킹 기능을 구현하는 방법
|
| 17600 | |
| 17594 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기