wp-admin 보호
wordpress 사이트에 대한 bot의 공격은 wp-admin와 wp-login.php URL을 대상으로 진행된다.
플러그인을 활용해서 경로를 변경해도 되지만 플러그인을 지나치게 많이 설치하면 사이트 속도도 느려진다.
간단한 설정 변경으로 접속 경로를 변경할 수 있다.
설정 파일 수정
Nginx를 사용한 경우 3개의 파일에 내용을 수정해야 한다.
wp-config.php 파일 수정
define('WP_ADMIN_DIR', '[변경이름]');
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
wp-admin 대신에 접속하고 싶은 url 명칭을 [변경이름]위치에 넣으면 된다.
functions.php 파일 수정
add_filter('site_url', 'wpadmin_filter', 10, 3);
function wpadmin_filter( $url, $path, $orig_scheme ) {
$request_url = $_SERVER['REQUEST_URI'];
$check_wp_admin = stristr($request_url, 'wp-admin');
if($check_wp_admin){
wp_redirect( home_url( '404' ), 302 );
exit();
}
$old = array( "/(wp-admin)/");
$admin_dir = WP_ADMIN_DIR;
$new = array($admin_dir);
return preg_replace( $old, $new, $url, 1);
}
functions.php 파일 마지막에 위의 내용을 붙여 넣는다.
functions.php 파일은 테마별로 있지만 공통 적용을 위해서 wp-includes 하위 폴더의 파일에 포함 시켰다.
nginx의 conf 파일 수정
conf 파일은 개인별로 다를 수 있다. nginx.conf 파일 또는 conf.d 폴더의 도메인 설정 파일을 수정해야 한다.
apache를 사용하는 경우 .htaccess 파일을 수정하면 된다.
location ~* /[변경이름] {
rewrite ^/[변경이름]/(.*) /wp-admin/$1 last;
}
위의 내용을 .conf에 추가하고 nginx를 재시작 한다.
nginx 재시작
systemctl restart nginx