Netowl(minibird)でWordPressにログインができない場合の対処法
2014/12/12
先日よりXSERVERやxdomain、
そしてNetowlのレンタルサーバ(minibird,firebird,clouver)で確認されている、
WordPressダッシュボードへのログインが制限される機能
「ログイン試行回数制限設定」ですが、
Netowlのレンタルサーバではサブドメインに対してログインが制限されると、
.htaccessに対して無効化設定を手動で導入してもログインができません。
まったく管理者としても操作ができなくなってしまいますので解除方法をご紹介します。
本投稿には一部不正確な部分が残っています。
本事象の根本的な原因等は私の環境に依存するものなのかを検証中です。
あくまでも参考程度にご覧ください。
Netowl(minibird)でWordPressにログインができない場合の対処法
一度「ログイン試行回数制限設定」によって、
ログインが制限されるとWordPressに対して新規ログインが全くできず、
メンテナンスが行えなくなってしまいます。
それではまったくサイトに対しての操作が行えなくなってしまいますので、
運用上、甚大な影響が出てしまいます。
対応方法は問い合わせていますが、
取り急ぎ解決できる方法が見つかりましたのでご紹介します。
まずは、正規の設定手順から。
「ログイン試行回数制限設定」の解除手順
設定の変更を行うにはサーバー管理画面へアクセスします。
(この場合minibirdでご紹介します。)
サーバー管理画面が開いたらサイドメニューから、
[WordPressセキュリティー設定]をクリックします。
設定変更を行う対象のドメインを選択します。
この画面の通り、設定は「ドメイン単位」で行われます。
また、サブドメインは選択肢にありませんので、
あくまでも対象はドメインになっています。
[WordPressセキュリティー設定]が開いたらデフォルトでは、
国外IPアクセス制限設定になっていますので、
上部タブから[ログイン試行回数制限]タブをクリックします。
設定が有効な状態で表示(デフォルト)されますので、
[無効化する(確定)]をクリックします。
すぐに設定が更新されます。
再びタブをクリックして設定を確認すると、
ボタンが[有効化する(確定)]となっています。
一旦、自分がログインしたら再び有効化して構いません。
これによって、設定を行ったドメインのルートディレクトリに設置した、
.htaccessファイルに対して以下の3行が追記されます。
1 2 3 |
#####wpsecurity_login##### SetEnvIf Request_URI ".*" WpLoginNoLimit #####end:wpsecurity_login##### |
通常はこの設定によって、ログイン試行回数設定は無効化されます。
ですが、もしドメインの公開ディレクトリ以外のサブディレクトリにも、
.htaccessファイルを設置してしまっているような場合には、
そうしたサブディレクトリ等に設置した.htaccessファイルは更新されません。
サブディレクトリに設置した.htaccessファイル対応
サブディレクトリに設置した.htaccessファイルに対しては、
上記の2行目の設定をそれぞれ、手動で導入する必要があります。
サブドメインディレクトリに設置した.htaccessファイル
サブドメインを利用してサイトを公開しているような場合には、
別途、サブドメインのディレクトリに対しても、
.htaccessファイルが設置されていることと思います。
[WordPressセキュリティー設定]からは、
こうしたサブドメインのディレクトリに対しても設定の反映は行われません。
しかも、サブディレクトリ同様に手動で設定を行っても、
ログイン試行回数設定を無効化することができません(2014/12/11現在)
そこで別途回避策を講じる必要があります。
サブドメインに対する制限解除方法
通常は24時間で制限が解除されるとはなっていますが、
一向に制限が解除される様子はありません。
この挙動の原因は何かわかりませんが、
検索クローラなどが一定時間内にwp-login.phpへアクセスしているのかなとも推測します。
一向に解除されることがないので、
サブドメインの制限解除には.htaccessへ以下の記述を追加します。(非推奨)
wp-login.phpへのアクセスを個別に許可することで、
制限を回避することができます。
なお、記述順序に影響があるかはわかりませんが、
私は.htaccessの最下部に追記しています。
1 2 3 4 5 6 7 8 |
#####wpsecurity_login##### SetEnvIf Request_URI ".*" WpLoginNoLimit #####end:wpsecurity_login##### <Files ~ "^.*\wp-login.php$"> order allow,deny allow from all </Files> |
しかしこれでは誰でもアクセスができてしまいますので、
自分のIPのみに制限します。
自分のアクセス元IPの確認は以下から行えます。
自身のIPアドレスを確認すると、以下のように表示されますので、
.htaccessへ以下のように記述します。
IPアドレスからのアクセスのみを許可します。
1 2 3 4 5 6 7 8 9 |
#####wpsecurity_login##### SetEnvIf Request_URI ".*" WpLoginNoLimit #####end:wpsecurity_login##### <Files ~ "^.*\wp-login.php$"> order deny,allow deny from all allow from 106.188.134.19 </Files> |
これによって、自分のIPアドレスからのアクセスでは、
WordPressへのログインが強制的に許可されます。
2014/12/11追記
wp-login.php へのアクセスを許可しただけでは、
新規投稿・投稿の保存、カテゴリの追加などその他の操作が結局許可されないようなので、
以下の通り/wp-admin/へのアクセス制御を追加して最終的に対応しました。
さいごに
このようにして、個別に「wp-login.php」へのアクセスを許可することで、
ログイン試行回数設定の無効化を強制することができます。
サブドメインの場合に制限が解除できなくなるこの仕様・・・
あまりにもずさんというかなんというか。
やっつけ仕事で導入するならやめとけばいいのに・・・そう感じた一件でした。
あー面倒くせぇ、これで2日も無駄になったじゃないか。
2014/12/11追記
その後、早々にネットオウルのサポートより連絡がありました。
以下メール引用
「WordPressセキュリティー設定」
はドメインごとのものですので
ドメイン[rensrv.com]の設定のみOFFにしていただければ
全てのサブドメインでも設定がOFFとなります。> http://url-default.rensrv.com/
wdps/wp-login.php
上記URLなど、正常に閲覧が可能なように見受けられますが
アクセスされた際にブラウザ側にキャッシュが残っていなかったかなど
ご確認くださいますでしょうか。
うーん微妙。
実際にドメインルートに対してアクセス制限を解除して、
.htaccessに対して以下が設定されていることを確認したうえで、
ドメインルートへの制限が解除されていることを確認。
無事新規投稿も可能になることは確認できます。
1 2 3 |
#####wpsecurity_login##### SetEnvIf Request_URI ".*" WpLoginNoLimit #####end:wpsecurity_login##### |
その上で、サブドメインへの反映を確認すると、
サブドメインでは、以下のようにIPアドレスへの個別許可なりの
アクセス許可指定をしないと、ログインがブロックされています。
以下でログインは解除可能(IPはそれぞれの環境に合わせる)
1 2 3 4 5 6 7 8 9 |
#####wpsecurity_login##### SetEnvIf Request_URI ".*" WpLoginNoLimit #####end:wpsecurity_login##### <Files ~ "^.*\wp-login.php$"> order deny,allow deny from all allow from (自分のIP) </Files> |
しかもそのままでは新規投稿などが行えないので、
別途、/wp-admin/内に.htaccessを設置して、
指定IPに対してのみ/wp-admin/へフルアクセス許可します。
1 2 3 4 5 6 7 8 9 |
Order deny,allow Deny from all Allow from (自分のIP) <FilesMatch "(admin-ajax.php)$"> Satisfy Any Order allow,deny Allow from all Deny from none </FilesMatch> |
こうした対応を入れないと、
ネットオウルでは、サブドメインを対象としたログイン拒否の解除が行えません。
そもそも、サポートのおっしゃるような。
> http://url-default.rensrv.com/
wdps/wp-login.php
上記URLなど、正常に閲覧が可能なように見受けられますが↓
http://url-default.rensrv.com/wdps/wp-login.phpが、
表示されているからブロックされていません
そもそもログイン制限が効いていても、上記のwp-login.phpは常に表示されます。
少なくとも私の複数の環境では。。。
なお、アクセスがブロックされている場合には以下のように動作しています(私の環境)
- まずログイン画面は正常に表示されます。
- ユーザー名・パスワードの正誤に関わらずブロック画面が表示されます。
なので、
検証には実際に何かしらのログイン試行を実施しなければ、
現在、ログインが制限されているのかどうかは判断ができません。
ですが、この挙動はどうやらNetowl側の想定している挙動ではないようです。
本来ブロックが働いている場合には、
ログイン画面すら表示されないとのことです。
ですので、当環境は「ログイン制限を受けていない」という事らしいです。
てことは、私の使い方が悪いということなんだろうか・・・。
なんか気持ち悪いな、コレ。
誰か、同じ症状に出会った人、Twitterなんかで声かけてもらえませんかね^^;
Apache,Apache Hadoop,Apache Subversion,Hadoop,HDFS,HBase,Hive,Mahout,Pigは、
Apache Software Foundationの米国およびその他の国における登録商標または商標です。
ApacheソフトウェアはApache Software License (原文)および
Apache License, 2.0 (原文)に基づきOpen Source Initiativeに承認されライセンスされています。
ミニバードは、ネットオウル 株式会社の登録商標(第5288917号)です。
ファイアバードは、ネットオウル 株式会社の登録商標(第5288918号)です。
スタードメインは、ネットオウル 株式会社の登録商標(第5324100号)です。
クローバー、ウェブクロウ、SSLボックス、ネットオウルアクセス解析、
ネットオウルメールフォーム、PHP APPSは、ネットオウル 株式会社の商標です。
Xserverおよび、Xserverロゴは、エックスサーバー株式会社の登録商標です。
登録番号は以下の通りです。
第5615066号
Xdomainおよび、Xdomainロゴは、エックスサーバー株式会社の登録商標です。
登録番号は以下の通りです。
第5620796号
sixcoreおよび、sixcoreロゴは、エックスサーバー株式会社の登録商標です。
登録番号は以下の通りです。
第5257521号
wpXおよび、wpXロゴは、エックスサーバー株式会社の登録商標です。
登録番号は以下の通りです。
第5611913号
driveeおよび、driveeロゴは、エックスサーバー株式会社の登録商標です。
登録番号は以下の通りです。
第5171204号
関連記事
-
無料で使えるクラウドサービス Netowl(ネットオウル)の会員登録
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Netowl™の無料WordPressサーバWPblogの利用登録
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Netowl(ネットオウル)無料アクセス解析の利用登録
Google or AdMax Promotion(it) 禁断の機能がau公式 …