ログイン試行回数を Transient で制限
WordPress トランジェントを使いログイン失敗を記録し、一定回数超過でロックアウトするブルートフォース対策。
解説
wp_login_failed アクションで失敗ごとにトランジェントをインクリメントし、MW_MAX_LOGIN_ATTEMPTS を超えると wp_die() で 429 を返してロックアウトします。プラグインなしで実装でき、データベースのトランジェントテーブルを使うため再起動不要です。IPハッシュで管理しているためプライバシーへの配慮もしています。
いつ使うか
- 公開サイトのセキュリティ強化
- ブルートフォース攻撃対策
- 管理画面の保護
適用時の注意点
ログイン URL 変更系は自分自身がログインできなくなるリスクがあります。新しい URL を必ず控えてから適用を。
よくある質問
このコードはどこに貼れば良いですか?
子テーマの
functions.php もしくは Code Snippets プラグインに貼り付けて有効化してください。WordPress のバージョンによって動きませんか?
本サイトは WordPress 6.x 系(2026 年時点)を前提に動作確認しています。
プラグインと競合する可能性はありますか?
同じフィルタフックを別プラグインが使っている場合、競合する可能性があります。
商用利用できますか?
はい。moatway がオリジナル制作した PHP コードは商用・個人問わず自由にご利用いただけます。