Lorsque je prends un rendez-vous chronométré, il y a une condition de vérification dans le formulaire qui détermine si l'heure actuelle a atteint l'heure définie. Si elle n'est pas arrivée, elle ne peut pas être exécutée.
<?php
ini_set('date.timezone','Asie/Shanghai');
$setTime = date("Y-m-d");
$setTime = strtotime("$setTime 10:30:00");
si(time() < $setTime){
exit("L'heure du rendez-vous n'est pas arrivée, veuillez y revenir plus tard");
}
?>
<form>……</form>
Selon la logique, si le temps n'est pas écoulé, le contenu du formulaire ne peut pas être consulté ni soumis
Mais grâce à l'enregistrement du plug-in du code de vérification du formulaire, je peux voir que vers 10h29 : 40, il y a déjà un utilisateur qui a terminé la vérification du code de vérification dans le formulaire
Lorsque nous l'avons testé nous-mêmes, nous ne savions pas comment l'utilisateur fonctionnait
(PS : nous avons utilisé la vérification par glisser-déposer d'Alibaba Cloud pour la vérification, et chaque la vérification a une valeur enregistrée, comme indiqué ci-dessous)
< /span>
Est-ce que quelqu'un sait où se trouvent les failles de cette logique et comment les limiter ?
Le plug-in enregistre-t-il le code de vérification sur votre serveur ? Sinon, l'heure n'est peut-être pas synchronisée.
Tout d'abord, vous interdisez aux utilisateurs d'accéder à la page. Cependant, lorsque l'utilisateur soumet le formulaire, l'URL du serveur d'accès est différente, c'est-à-dire que l'URL de votre formulaire est index, mais le chemin de requête du serveur index/save est utilisé pour enregistrer le les données via le formulaire, afin que l'utilisateur puisse directement enregistrer les données dans l'index/sauvegarder, et votre logique de demande d'indexation/sauvegarde ne fixe pas de limite de temps, les données peuvent donc être insérées dans la base de données
.