本機能は、ログインの最大試行回数を設け、同一のIPアドレスから同一のユーザー名に対して一定回数ログインに失敗すると一定時間ログイン画面を表示できないようにするという機能を提供します。
「セキュリティとスパム対策」→「ユーザーとログイン」タブから有効/無効にできます。
有効化時には以下の条件でログイン試行回数制限がかかるようにしています。
- 同一IPから同一ユーザーへのログインに3回失敗したらロックアウト(ログイン画面の代わりにメッセージを表示)する
- ロックアウト時間は5分
- ロックアウト中は「ログインに失敗しました。あなたはスパマーですか?」というメッセージのみを画面に表示し続ける
条件やメッセージの変更については次項に示すコード例を使用して行ってください。
フィルターフックによる条件やメッセージの変更
以下のフィルターを使うことで試行回数、ロックアウト時間、ロックアウト時のメッセージを変更することができます。
試行回数の変更
/* 回数を変更 */
function change_max_attempts($max_attempts){
$max_attempts = 3;//変更する回数を指定
return $max_attempts;
}
add_filter('haup_change_max_attemps','change_max_attempts');
ロックアウト時間の変更
function change_lock_time($lock_sec){
$lock_sec = 5;//変更する分数を指定
return $lock_sec;
}
add_filter('aup_change_lockout_time','change_lock_time');
ロックアウト時のメッセージを変更
function change_lockout_message($message){
$message = 'スパム行為はやめてください';//変更するメッセージを指定
return $message;
}
add_filter('haup_change_locked_out_message','change_lockout_message');
メッセージについてはヒント的な表示(複数回ログインに失敗しました、など)は避けた方がいいと考え、「ログインに失敗しました。あなたはスパマーですか?」という簡易なメッセージにしていますので、メッセージはヒントを明示しないよう工夫をすることをおすすめします
本機能だけをサイトに追加したいときは
この機能を使うためだけにHima Art Utilityプラグインを使うのはちょっと..という方もいらっしゃると思います。
以下のページで本機能を汎用に使えるようにしたコード例を公開していますので参考にしてみてください。