워드프레스 오류
워드프레스 오류 해킹으로 관리자 접속 안될때
이미 워드프레스 블로그를 접속할 수 없을 상태이지만..
아래 과정은 접속 되는 시점에 필히 등록해야합니다.
플러그인: Snippets 액션 추가
![워드프레스 오류 500에러 관리자 해킹 당해 접속안될때 방어전략 2 워드프레스 오류 대비한 스니핏 소스 추가](https://www.theselfimprovementhomepage.com/wp-content/uploads/2023/08/screenshot_2023-08-18_오전-8_24_40-1024x385.png)
추가 항목은 아래 내용 그대로 복사 붙여넣기 하면 됩니다.
소스코드에 대한 설명은 아래 링크를 클릭하면 자세한 방법을 알 수 있습니다
// 최상단에서 차단될 접근 횟수와 접근 제어할 페이지 리스트 설정
define('MAX_ACCESS_COUNT', 20);
define('BLOCKED_URLS', serialize(array('/xmlrpc.php', '//xmlrpc.php', '/wp-admin/admin.php')));
function should_block_ip($ip) {
$access_count = get_transient('access_count_' . $ip) ?: 0;
if ($access_count >= MAX_ACCESS_COUNT) {
return true;
}
return false;
}
function block_ip_with_route($ip) {
$cmd = "sudo /sbin/route add -host $ip reject";
shell_exec($cmd);
}
function unblock_ip_with_route($ip) {
$cmd = "sudo /sbin/route del -host $ip reject";
shell_exec($cmd);
}
function check_and_block_ip() {
$client_ip = $_SERVER['REMOTE_ADDR'];
$current_url = $_SERVER['REQUEST_URI'];
$blocked_urls = unserialize(BLOCKED_URLS);
if (in_array($current_url, $blocked_urls) || is_404()) {
$access_count = get_transient('access_count_' . $client_ip) ?: 0;
set_transient('access_count_' . $client_ip, ++$access_count, 60); // 1분 동안 저장
if (should_block_ip($client_ip)) {
block_ip_with_route($client_ip);
wp_die('Your IP has been blocked.');
}
}
}
add_action('init', 'check_and_block_ip');
위의 내용을 추가하면 아래처럼 됩니다. Description 설명부분은 알아서 입력하면 되고요 태그항목도 정렬을 위한 부분이니 생략해도 상관없습니다.
![워드프레스 오류 500에러 관리자 해킹 당해 접속안될때 방어전략 3 워드프레스 해킹 방어](https://www.theselfimprovementhomepage.com/wp-content/uploads/2023/08/screenshot_2023-08-18_오전-8_26_44-976x1024.png)
이렇게 해놓으면 실수로 내가 F5번을 관리자에서 엄청 빠르게 누르지 않고선 차단이 되진 않습니다. 처음에 실수로 모든 페이지에 위 항목이 적용되도록 했더니 ip 차단당해서 제가 제 서버에 접속을 할 수 없었네요.
지금은 2개의 URL에 대해 접근을 제어하므로 일부로 F5버튼을 누르지만 마세요.
예전에 만든 스니핏도 있는데
이 모델이 서버의 명령어 접근이 안될 경우 이전 스니핏을 사용해보세요
DDoS 방어 스니핏 PHP 소스코드 1분 10회공격 IP차단
DDoS 또는 워드프레스 해킹 당하기 이전에 왜 방화벽이 필수인지 어느정도 감을 잡기 시작할겁니다. 로알남이 왜 자신의 서버에 2중으로 DNS 방화벽을 걸어놓고 사용하는지 이해가 됩니다. 아님 말궁~
로알남 워드프레스 블로그 사이트 주소에 2중 DNS 방화벽 쓰는 이유