WordPressにて、ログイン画面と管理画面へのアクセス制限をかけたいと考えています。
現状固定IPではないので、DDNSを利用して処理を作成します。
.htaccess
内で DDNS を指定するとパフォーマンスが低下するようなのでPHPで考えています。
lang
1add_action('init', function(){ 2 if(is_admin() || [ログインページ判定処理]){ 3 // 接続を許可するIP 4 $okIp = gethostbynamel('DDNS名'); 5 6 // 接続元のグローバルIP 7 $hostip = $_SERVER['REMOTE_ADDR']; 8 9 if($okIp[0] != $hostip){ 10 // 指定IP以外はトップページへリダイレクトする 11 header( "location: " . home_url() ); 12 } 13 } 14 15 // ログイン画面、管理画面でない場合は処理しない 16});
上記のような感じで処理を作成してみました。
現状問題なく動いているようなのですが、修正すべき点などはありますでしょうか?
気になっているのは以下のような点です。
① add_action
は init
で問題ないか?
② IP を判定する際、それぞれの null
チェックは必要か?
以上、よろしくお願いいたします。m(_ _)m
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。