以前書いた記事に WordPressのログイン画面(wp-login.php)にBASIC認証を掛けるというものがありました。
このブログには コメントスパム対策として Throws SPAM Away が入っています。 これはこれで効果は絶大なんですが、最近セキュリティ向上としてやっていることがあります。 それが WordPressのログイン画面にBASIC認証をかける ということなんです。 かけ方としてはこんな感じ。 WordPressイン …
その中に記述しているコードでBASIC認証を掛けると
「パスワード保護」している記事のパスワード入力時
にもBASIC認証がかかってしまいました。
確認不足ですみません。
※現在そちらの記事も修正済みです。
パスワード保護している記事に影響しないBASIC認証を掛ける
パスワード保護時のクエリを避けてあげるようにBASIC認証を掛けるようにします。
※ サーバーは Apache 2.4用だと思いますが、ロリポップのハイスピードプラン LiteSpeed でも エックスサーバー x10(たしかnginx+なにか)でも動作しました。
こんな感じです。
AuthUserFile については環境に合わせてください。
<Files wp-login.php>
<If "%{QUERY_STRING} != 'action=postpass'">
AuthUserFile "/home/{ユーザ}/{ドメイン}/{あとは合わせて}/.htpasswd"
AuthGroupFile /dev/null
AuthName 'Member Only.'
AuthType Basic
Require valid-user
</If>
</Files>
こちらで出来なかった!場合がありましたので… こちらではどうでしょうか。
<Files wp-login.php>
AuthUserFile "/home/{ユーザ}/{ドメイン}/{あとは合わせて}/.htpasswd"
AuthName 'Member Only.'
AuthType BASIC
<RequireAny>
Require valid-user
<RequireAll>
Require expr %{QUERY_STRING} = 'action=postpass'
Require env internal_site
Require method POST
</RequireAll>
</RequireAny>
</Files>
実際に 前述のものはエックスサーバーでは動作していたんですが、ロリポップで動作しませんでしたので後述のもので対応しました。
どうぞよろしくお願いいたします。
パスワード保護している記事がなければ大丈夫です
実は、こちらの記事をシェアしようとして気が付きました。
この投稿はパスワードで保護されているため抜粋文はありません。
こちらの記事は現在準備中のため非公開としている
Stripe Payment (Stripe決済ボタンを追加するプラグイン)
のマニュアルになるんですが、実は案件単位では提供しておりまして、マニュアルを自分で読もうと思ったときに発覚しました。
今まで見るに見られなかった方、大変申し訳ありません。
※ご購入者のみ「パスワード」を配布しております。
こちらのプラグインについても現在バージョンアップ中です。
どうぞよろしくお願いいたします。
ロリポップ!レンタルサーバーのお申込みフォーム。お申込みから10日間は無料お試し期間となっておりますので、まずは使ってお試しください!