WordPress, セキュリティ

WordPress 管理画面URL変更

 

  1. 管理画面URL変更
  2. 画面キャプチャ認証
  3. パスワードをパスフレーズで設定
  4. IP制限

 

IP制限については利便性が落ちるので、1~3だけでいいかな。

 

themes/テーマ_child/functions.php

// 管理画面URL切り替え
define( 'LOGIN_CHANGE_PAGE', 'dummy_admin.php' );
add_action( 'login_init', 'login_change_init' );
add_filter( 'site_url', 'login_change_site_url', 10, 4 );
add_filter( 'wp_redirect', 'login_change_wp_redirect', 10, 2 );
// 指定以外のログインURLは403エラーにする
if ( ! function_exists( 'login_change_init' ) ) {
  function login_change_init() {
    if ( !defined( 'LOGIN_CHANGE' ) || sha1( 'keyword' ) != LOGIN_CHANGE ) {
      status_header( 403 );
      exit;
    }
  }
}
// ログイン済みか新設のログインURLの場合はwp-login.phpを置き換える
if ( ! function_exists( 'login_change_site_url' ) ) {
  function login_change_site_url( $url, $path, $orig_scheme, $blog_id ) {
    if ( $path == 'wp-login.php' &&
      ( is_user_logged_in() || strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false ) )
      $url = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $url );
    return $url;
  }
}
// ログアウト時のリダイレクト先の設定
if ( ! function_exists( 'login_change_wp_redirect' ) ) {
  function login_change_wp_redirect( $location, $status ) {
    if ( strpos( $_SERVER['REQUEST_URI'], LOGIN_CHANGE_PAGE ) !== false )
      $location = str_replace( 'wp-login.php', LOGIN_CHANGE_PAGE, $location );
    return $location;
  }
}

// 管理画面URL切り替え ここまで

 

 

 

# vi /var/www/vhosts/www.yuulinux.tokyo/httpdocs/contents/dummy_admin.php


<?php
define( 'LOGIN_CHANGE', sha1( 'keyword' ) );
require_once './wp-login.php';

 

権限設定

# chown ユーザ:nginx /var/www/vhosts/www.yuulinux.tokyo/httpdocs/contents/dummy_admin.php.php

 

これで管理画面のURLが下記に変更されました。※ダミーURL

https://www.yuulinux.tokyo/contents/dummy_admin.php

 

 

 

@see https://blog.s-giken.net/140.html

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)