web-dev-qa-db-ja.com

Wp-login.phpの名前を変更したり隠したりする方法はありますか?

Wp-login.phpのURLを変更する方法はありますか? Wordpressを使ったことがある人なら誰でも、あなたのサイトがそれを使っているかどうかを簡単に確認して、ログインページにアクセスできることは危険です。

以前は "Stealth login"というプラグインがありましたが、更新されませんでした。 (そしてそれ故、プラグインに頼ることへの私達の消極的です)。

26
David

あなた自身のサイトでこれをしているのであれば、.htaccessを使うのが最も簡単な方法かもしれませんが、それをサポートするには微妙な設定の違いがたくさんあるので、プラグインで動かしたいならトリッキーかもしれません。

これは役に立つかもしれないいくつかの記事です。すべてが直接あなたの質問に答えるわけではありませんが、それらはすべて何らかの方法であなたのセキュリティ問題に対処します。

そしてもちろん、 AskApache と書いている人ほど、ApacheとWordPressの専門家ではありません。必ずこれらをチェックしてください。

22
MikeSchinkel

私は最近同じ問題に出くわしました、そしてStealthプラグインはもうサポートされていないのは正しいです。しかし、Stealthプラグインが最善の選択肢であることが最終的にわかったので、Stealthプラグインがプラグインの機能を理解するためにサポートしていたWordPressの最後のバージョンにWordPressをクリーンインストールしました。結局のところ、プラグインがしている唯一のことはいくつかの魔法で.htaccessファイルを作成することです。 .htaccessファイルは次のように少しなります。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^logout wp-login.php?action=logout&_wpnonce=asdfasdf&stealth_out_key=asdfasdfasdfasdf [L]
RewriteRule ^login wp-login.php?stealth_in_key=asdfasdfasdf&redirect_to=http://example.com/login [R,L]
RewriteRule ^admin wp-admin/?stealth_admin_key=asdfasdfasdfasdf [R,L]
RewriteCond %{HTTP_REFERER} !^http://example.com/wp-admin
RewriteCond %{HTTP_REFERER} !^http://example.com/wp-login\.php
RewriteCond %{HTTP_REFERER} !^http://example.com/login
RewriteCond %{HTTP_REFERER} !^http://example.com/admin
RewriteCond %{QUERY_STRING} !^stealth_in_key=asdfasdfasdfasdf
RewriteCond %{QUERY_STRING} !^stealth_out_key=asdfasdfasdfasdfasd
RewriteCond %{QUERY_STRING} !^stealth_reg_key=asdfasdfasdfasdfasdf
RewriteCond %{QUERY_STRING} !^stealth_admin_key=asdfasdfasdfasdfasdf
RewriteRule ^wp-login\.php http://example.com [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^wp-login\.php http://example.com [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

私はすべてのキーを "asdfasdfasdf"のバリエーションに変更しました - 明らかにあなた自身のためにいくつかの秘密キーを作成する必要があるでしょう。

お役に立てれば!

10
epaps