0

そのため、ユーザーの「キー」を取得して有効かどうかを確認する PHP スクリプトがあります。3回失敗した後にフォームを送信できないようにしたくありません。

私は Cookie を使用することを考えていましたが、それらはクライアント側であるため、フラッシュできるため、スクリプトへの最初の試行として表示されます。セッションも使用しますが、セッション後に期限切れになるためです。バイパスするのは簡単でしょう。このプログラムは DB を必要としないので、可能であれば避けたいと考えています。

また、フォームを送信するためにキャプチャを要求することも考えました。それが最善の選択肢ですか?ご提案をお待ちしております。

4

4 に答える 4

3

明らかにユーザーとキーを既に保存しているため、失敗した試行も追跡します。これはセッションごとではなく、ユーザーごとに行ってください。攻撃者が毎回新しい接続であると偽るのは簡単だからです。この情報を使用すると、ログインの試行に指数関数的に時間がかかるようにすることができます。

最後に失敗した試行がいつだったかを追跡している場合は、それを使用して、失敗した試行を時間の経過とともに減らすことができます。

キャプチャを使用するかどうか確信が持てない場合は、最初の試行が失敗した後に使用することをお勧めします。

于 2011-03-19T11:30:24.060 に答える
2

または Captchaを使用したIP アドレスREMOTE_ADDRとリファラーのHTTP_REFERERチェックは適切に聞こえます。$_SERVERすべてを組み合わせると最も効果的です。

于 2011-03-19T11:22:50.517 に答える
0

recaptcha のような外部キャプチャ サービスをお勧めします: http://www.google.com/recaptcha/learnmore

外部重視

于 2011-03-19T11:29:00.970 に答える
-1

現在の時刻、試行回数、およびこれらのハッシュを含む文字列を url/cookie に追加するのはどうですか。そのように、以前のそのような文字列を再利用することは時間チェックのために機能せず、そのような文字列の生成にはサンプルによるハッシュ関数のリバース エンジニアリングが必要であり、非常に困難です。

于 2011-03-19T11:35:48.130 に答える