jiluroさん、こんにちは。
試したわけではありませんが、WordPressが自動でログイン画面のリンクを生成する場合のリンク先や、リダイレクトされてログイン画面に遷移する場合など404エラーとなる可能性があるかと思います。
例えば、wp_loginout関数の出力(フックで修正可能)、ログアウト状態で/wp-admin/にアクセスした場合、ログアウトを行った場合などです。
私も少々気になっていた点ですので、よい解決方法がありましたら教えていただけると幸いです。
下記、ファイル内にwp-login.phpという文字列が記述されているファイルリストです。
その他、プラグインやテーマ内にて記述されている場合もあります。
(Admin SSL、デフォルトテーマのコメントテンプレートで存在確認済み)
wp-register.php
wp-includes/comment-template.php
wp-includes/pluggable.php
wp-includes/general-template.php
wp-includes/functions.php
readme.html
wp-admin/import/dotclear.php
wp-admin/import/textpattern.php
wp-admin/install.php
wp-login.php
お二方、ありがとうございます。
ですよね、これは気になりますよね。
私も投稿してからリダイレクトがあるなぁと気づいてしまい、手間かかるかなぁと
思い出していました。
デフォルトテンプレートでないものを使っていますが、ちょっとチェックしてみますね。
wp-login.php のファイル名を変更しても、実はあまり意味がありません。
/wp-admin/ 配下のファイルに、ログアウト状態でアクセスすると auth_redirect()
によって wp-login.php にリダイレクトされるためです。
つまり、wp-newlogin.php とかに変更しても、悪意ある攻撃者は、/wp-admin/index.php とかにアクセスするだけで、自動的に変更されたログインページにアクセスできてしまいます。これでは、ファイル名を変更した意味が全くありません。
このような対策を行うならば、auth_redirect()
によるログインチェック時に、ログインページにリダイレクトする動作を停止させなければなりませんが、それはかなり使い勝手が落ちるので、やめた方がよさそうです。
あと、XML-RPC のアクセスも停止させないと、意味がないです。ログイン画面のファイル名を変更するのは、ID/パスワードのブルートフォースアタックを避けるためだと思いますが、それは XML-RPC アクセスでも可能だからです。
特定のIP以外を弾くような設定にするのが現状では最善かもしれないですね。
確かに wp-login.php まわりはもうちょっとカスタマイズしやすく作られているべきだと感じます。