-2

時間の制約があるオンラインクイズゲームを使用しています。質問セットを要求すると、質問が返され、htmlソースに「start_time」入力があります(おそらく、phpのmicrotime()を使用して送信されます)。フォーム(つまり質問)を送信すると、送信されたstart_timeを使用して、サーバーの現在のマイクロタイムと比較し、期間を使用して応答速度を決定する可能性があります。

そのタイミングを打ち負かす方法はありますか?

彼らはクッキーを使用しません。私が(テキストボックスで)私のIDで質問をリクエストすると、彼らは私のIDとstart_timeがhtmlに埋め込まれた質問を送信します。ですから、送信中にstart_timeを現在の時刻に近づけることができるかもしれません。しかし、サーバーの最も近いcurrent_timeをどのように計算しますか?詳細な説明は大いに役立ちますが、どんなヒントでもかまいません。

4

1 に答える 1

1

マイクロタイムの価値があるとしましょう。(ソース コード html で検索) ローカルで実行されている php と apache が必要です。

だからあなたは試すことができます:

 list($microSec, $timeStamp) = explode(" ", 'microtime value you geted on code');
 echo date('F jS, Y, H:i:', $timeStamp) . (date('s', $timeStamp) + $microSec); //here the actual date from server.

サーバーからの実際の日付に基づいて、次のことができます。

echo microtime('the date you want inject on code'); //date format Y-m-d

これで、ある種の「firebug」を使用して javascript/jquery を実行し、非表示の値を変更できます。

jQuery('#input_hidden_id').val('here the value you get on php code');

このコードはまだテストされていないことに注意してください。

編集: 誰か、コード、またはシステムの整合性に害を与えるつもりはありませんが、クライアント側のセキュリティの問題を「破る」ことを楽しんでいます。「ダウンロードするまであと 12938721 秒待ってください」のように、まさに「無実」のことです。このコードの提案を使用して、リスクを冒して悪い提案を行う場合は、それを行うことはお勧めしません。愚かなことをする前に、他の人のことを考えてください。

于 2012-11-28T13:12:35.067 に答える