html5 - PHP サーバー時間に関する検証の問題
滿天的星座
滿天的星座 2017-05-16 13:08:27
0
2
541

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

<?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>

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

滿天的星座
滿天的星座

全員に返信(2)
Ty80

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

いいねを押す +0
Peter_Zhu

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート