検索

ホームページ  >  に質問  >  本文

html5 - PHP サーバー時間に関する検証の問題

時間指定の予約をする場合、現在時刻が設定された時刻に達しているかどうかを判断する確認条件がフォームにあります。到着していない場合は実行できません。

<?php
ini_set('date.timezone','アジア/上海');
$setTime = date("Y-m-d");
$setTime = strtotime("$setTime 10:30:00");
 if(time() < $setTime){
     exit("予約時間になっていませんので、後でお越しください。");
 }
?>

<form>……</form>

ロジックによれば、時間が経過していない場合、フォームのコンテンツにアクセスして送信することはできません。
しかし、フォーム検証コードのプラグイン レコードから、10:29 あたりでそれがわかります。 40、すでにユーザーがいます フォームで認証コードの認証を完了しました
自分たちでテストしたとき、ユーザーがどのように操作したかわかりませんでした
(追記:検証にはAlibaba Cloudのドラッグ認証を使用しました、そしてそれぞれ以下に示すように、検証には値が記録されています)
< /span>

このロジックの抜け穴がどこにあり、どのように制限すべきかを知っている人はいますか?

滿天的星座滿天的星座2772日前544

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-05-16 13:10:27

    認証コードのプラグイン記録はサーバー上にありますか?そうでない場合は、時間が同期されていない可能性があります。

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:10:27

    まず、ユーザーがページにアクセスすることを禁止していますが、ユーザーがフォームを送信するとき、アクセスサーバー URL は異なります。つまり、フォーム URL はインデックスですが、サーバーリクエストパスのインデックス/保存が保存に使用されます。フォームを通じてデータを送信できるため、ユーザーはインデックス/保存に直接投稿でき、インデックス/保存リクエスト ロジックには時間制限が設定されていないため、データをデータベースに挿入できます

    返事
    0
  • キャンセル返事