WordPressのログインに失敗した話

広告

Google 二段階認証と Google reCAPTCHA は併用に注意が要る

前々回では Google 二段階認証を有効に、前回 Google reCAPTCHA を有効にした結果、

おーのー(「デスクリムゾン」風に)。
ログインが一切不能になるではありませんか。

理由

  1. まず、通常のログインページから置き換えられた、Google reCAPTCHA が有効になったページが動き、認証を通そうとする。
  2. 次に、同一の URI で、Google 二段階認証が動き、認証を通そうとする。
  3. 1 が失敗する。

たぶん上記のような理由だと思います。
考えてみれば当たり前の話で、Google reCAPTCHA と Google 二段階認証双方を有効にしている例って見ないんですよね。

対策

ひとまずログイン

ひとまずはログインしなければお話になりません。
ということで一時的な対策として、FTPアプリケーションでサイトにログインし、

  • Google 二段階認証:/wp-content/plugins/google-authenticator
  • Google reCAPTCHA:/wp-content/plugins/advanced-nocaptcha-recaptcha

のどちらかを削除などして破棄し、無効にします。
これで、Google 二段階認証・Google reCAPTCHA の最低でもどちらかを活かしたまま、最低でもログイン自体は可能です。

双方を活かす

もちろん、その片方を潰したままにしておくのも一案ですが、

  • Google 二段階認証 は、ハードウェアを要求するため強固であるが、コメント欄の悪戯は阻止できない。
  • Google reCAPTCHA は、コメント欄等のフォームからの悪戯を阻止できるが。ログインに関しては劣る。

と、一長一短なんですよね。できれば、双方を活かしたままにしておきたい。

先の状況から考えるに、

  • ログイン画面は Goole 二段階認証を使う。
    • 基本的に、こちらの方が強固ですからね。
  • コメント欄その他はそもそも reCAPTCHA しか使えない。

ということで、Advanced noCaptcha & invisible Captcha (v2 & v3) プラグインの設定から、Login Form のチェックを外してやれば解決‥ですね。

他のプラグインとの衝突

要すれば、Goole 二段階認証(Google Authenticator) と、他のログイン画面を差し替えるプラグインを双方使ってしまうと、この問題はおそらく起こりえます。有名所では、SiteGuard WP Plugin も同じ理由でログインがコケますね。

セキュリティを強固に使用とする発想それ自体は良いのですが、こういった事態には注意が必要でした。反省。

どうしようもない雑記を書いてる場所だよ