Web サイトのログイン スクリプトに取り組んでおり、オリエンテーションが必要です。私の懸念はセキュリティについてです..
ログインページとログインクラスの2つが関係しており、以下のようにセキュリティを管理しています。
login.php 内のフォームにはトークンがあり、ユーザーがフォーム (「php_self」をターゲット) を送信すると、クラスを呼び出します。
- トークンを検証する
- ユーザーがブロックされていないか確認する
- bcrypt でパスワードが正しいかどうかを確認します。
- ログインが失敗した場合、そのユーザーの最後のログインの試行回数と日時をデータベースに保存します
- 2 回目の試行の場合は、フォーム内に recaptcha を配置します。キャプチャは jquery/ajax を介して検証され (使いやすさの理由から)、サブミット後にクラスのサーバー側で再度検証されます (誰かが ajax post 呼び出しを強制した場合)。
- 5 回目の試行が失敗した場合、そのアカウントは 10 分間ブロックされます。
セキュリティ上の弱点はありますか?
私はそれを見つけましたが、それを修正する方法がわかりません。
失敗した試行が「x」であり、recaptcha が必要な場合、ユーザーは「ログイン ページ」リンクをクリックして (更新ではなく)、recaptcha なしでフォームを見つけることができます (試行が 0 であるため)。セッション変数「試行」を作成できますが、これは ajax 呼び出しと同じように強制することができますよね?
あなたの助けを前もって感謝します