WordPress管理画面デフォルトのURLをアクセス禁止にしたいと考えております。
要は下記のようなアドレスをアクセス禁止にしたいです。
http://example.jp/wp-login.php
http://example.jp/wp-admin
http://example.jp/login
http://example.jp/admin
http://example.jp/dashboard
そして下記の記事を参考に.htaccessの変更を行っています。
http://design-plus1.com/tcd-w/2016/10/change-wordpress-loginurl-for-security-improvement.html
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^enter/?$ /wp-login.php?45jfvo9204 [R,L] RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^dashboard/?$ /wp-login.php?45jfvo9204&redirect_to=/wp-admin/ [R,L] RewriteRule ^dashboard/?$ /wp-admin/?45jfvo9204 [R,L] RewriteRule ^register/?$ /wp-login.php?45jfvo9204&action=register [R,L] RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax.php RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/wp-admin RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/wp-login.php RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/enter RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/dashboard RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/register RewriteCond %{QUERY_STRING} !^45jfvo9204 RewriteCond %{QUERY_STRING} !^action=logout RewriteCond %{QUERY_STRING} !^action=rp RewriteCond %{QUERY_STRING} !^action=register RewriteCond %{QUERY_STRING} !^action=postpass RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^.*wp-admin/?|^.*wp-login.php /not_found [R,L] RewriteCond %{QUERY_STRING} ^loggedout=true RewriteRule ^.*$ /wp-login.php?45jfvo9204 [R,L] </IfModule>基本的にはこの内容でほぼ希望のことは網羅できるのですが、wp-login.phpに関してはFacebookのログイン認証時に利用している為、こちらも利用できなくなってしまいました。
facebookログインで利用しているurl一部抜粋
ドメイン名/wp-login.php?loginSocial=facebook〜
やりたいこととしては、yoursitedomain/wp-login.phpを含んだ場合に禁止ではなく、yoursitedomain/wp-login.phpに直接アクセスされた場合のみを禁止したいです。
方法をご存知の方はご教授いただければ助かります。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/08 15:19