0

私のページには、データベース クエリからデータを取得するための ajax 関数を含む JavaScript スニペットがあります。コードは次のとおりです。

$('#fpgo2').click(function () {
  var sanswer = $('#sanswer').val();
       if (sanswer != "") {                                                                                     
                    $.ajax({
                    type: 'POST',
                url: root_url + '/services/services.php?method=forgotpassword',
                    data: {email:email,sanswer:sanswer},
                    async: true,
                   success: function (data) {
                    //alert(data);
                    if (data == 1) {
                                 ************
                                 ************     
                          } else if (data == 2) {
                    $('#msg_noseqqstn').html('Wrong answer').show();
                     } else {
                      alert('**********');       
                      }
                      }
                      });
                       }
                      else{
                          ***********
                          }
                          });

ここで、以下のコードが 24 時間に何回実行されるかを計算します。

else if (data == 2) {
                        $('#msg_noseqqstn').html('Wrong answer').show();
                         }

条件は、この応答を 24 時間以内に 5 回受け取った場合、別の機能を実行する必要があるということです。それで、エラー「Wrong Answer」コードが実行された回数と、期間、つまりユーザーの24時間の設定方法を知る方法を教えてください。前もって感謝します。

4

1 に答える 1

0

これは、データベースの有力な候補です。IPAddressAttemps、の 3 つのフィールドを持つテーブルを作成しLastDateて、各 IP アドレスについて、現在の最後の日付に対して何回の試行が行われたかを知ることができます。

実際の日付が同じでなくなるたびに、試行回数は 1 にリセットされます。メカニックがどのように見えるかの擬似コードを次に示します。

if (same date) {
    if (attemps < 5) {
        if (!try_connect()) {
            attemps++;
        }
    } else {
        error();
    }
} else { // different date
    attemps = 1;
}

lastDate = actualDate;

お役に立てれば :)

于 2013-02-07T04:31:52.220 に答える