요즘 어찌나 많은 해외 아이피들이 서버에 접속을 해대는지 시스템 부하가
장난 아니죠...
그래서 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);
}
게시글 목록
| 번호 | 제목 |
|---|---|
| 17523 | |
| 17516 | |
| 17515 | |
| 17514 |
PHP
PHP 배열순설정
1
|
| 17498 |
PHP
PHP로 PDF파일 다루기
4
|
| 17493 | |
| 17490 | |
| 17487 | |
| 17485 |
JavaScript
jQuery없이 네티브자바스크립트로 서버에 요청보내기 7 - JSONP
5
|
| 17481 |
JavaScript
jQuery없이 네티브자바스크립트로 서버에 요청보내기 6- CORS
1
|
| 17478 |
JavaScript
jQuery없이 네티브자바스크립트로 서버에 요청보내기5- 파일업로드
1
|
| 17477 | |
| 17474 | |
| 17473 |
JavaScript
jQuery없이 네티브자바스크립트로 서버에 요청보내기4 - JSON
|
| 17472 | |
| 17470 |
JavaScript
jQuery없이 네티브자바스크립트로 서버에 요청보내기2 - POST
|
| 17469 |
JavaScript
jQuery없이 네티브자바스크립트로 서버에 요청보내기1 - GET
2
|
| 17463 |
JavaScript
express로 간단한 부트스트랩 내비게이션 메뉴 생성기(아주 쉬움)
|
| 17462 | |
| 17461 |
PHP
PHP로 채트서버 만들기
|
| 17460 |
JavaScript
ThreeJS로 3디 지구 만들기
|
| 17458 | |
| 17457 |
PHP
PHP 랜덤생성하기
|
| 17454 | |
| 17453 |
MySQL
DB백업코드
5
|
| 17448 |
JavaScript
숫자에 천단위로 콤마(,) 찍기
11
|
| 17447 | |
| 17446 | |
| 17445 | |
| 17444 |
node.js
nodejs 에서 CSV파일 파싱하여 배열로 변환하기
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기