사이트 접속을 국내 아이피에만 허용하는 코드를 만들어 봤습니다.
요즘 어찌나 많은 해외 아이피들이 서버에 접속을 해대는지 시스템 부하가
장난 아니죠...
그래서 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); }올려주신 소스 잘 사용하겠습니다...^^
좋은 소스 감사합니다. 오늘도 좋은 하루되십시오