요즘 어찌나 많은 해외 아이피들이 서버에 접속을 해대는지 시스템 부하가
장난 아니죠...
그래서 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);
}
게시글 목록
| 번호 | 제목 |
|---|---|
| 18200 | |
| 18195 | |
| 18193 | |
| 18181 | |
| 18179 | |
| 18173 | |
| 18170 | |
| 18164 | |
| 18158 | |
| 18155 | |
| 18152 |
JavaScript
한글과컴퓨터 키워드추출스크립트.
2
|
| 18151 | |
| 18150 |
JavaScript
위에서 아래로 내려오는 효과 6가지
|
| 18140 | |
| 18139 | |
| 18138 |
JavaScript
마우스로 td 간격 조정하기.
1
|
| 18131 | |
| 18130 |
JavaScript
엘레먼트에 다이렉트로 변수,배열,객체 심기
|
| 18120 | |
| 18119 | |
| 18118 |
jQuery
0원팁- 숫자형 아이디에 접근하기
1
|
| 18117 |
jQuery
유용하게 써먹는 반응형 grid
1
|
| 18116 | |
| 18111 |
MySQL
db에서 트리거 만들기
|
| 18110 | |
| 18108 |
JavaScript
디바운스 debounce의 개념
1
|
| 18107 |
JavaScript
jquery 타이머 만들기
2
|
| 18106 | |
| 18100 | |
| 18090 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기