html5 - 关于PHP服务器时间的验证问题
滿天的星座
滿天的星座 2017-05-16 13:08:27
0
2
524

我在做一个定时预约的时候,在form表单有一个验证条件是判断了当前时间是否达到设置时间点,如果没到的话,是不能执行的

<?php
ini_set('date.timezone','Asia/Shanghai');
$setTime = date("Y-m-d");
$setTime = strtotime("$setTime 10:30:00");
 if(time() < $setTime){
     exit("未到预约时间,请稍后访问");
 }
?>

<form>……</form>

按照逻辑的话如果时间不到,表单内容是没办法访问和提交的
但是我通过表单验证码的插件记录可以看到10点29分40秒钟左右,已经有用户完成了form表单里面的验证码验证
我们自己测试时候,也不知道该用户如何操作的
(PS:我们验证使用的是阿里云的拖动验证,每一次验证都有记录值,如下图)

大神有没有谁知道这个逻辑的漏洞在什么地方,应该如何限制处理

滿天的星座
滿天的星座

모든 응답(2)
Ty80

인증코드 플러그인 기록이 서버에 있나요? 그렇지 않으면 시간이 동기화되지 않는 것 같습니다.

Peter_Zhu

먼저 사용자가 양식을 제출할 때 액세스 서버 URL이 다릅니다. 즉, 양식 URL은 색인이지만 서버 요청 경로 색인/저장을 사용하여 양식을 저장합니다. 데이터를 양식을 통해 사용자가 직접 인덱스/저장에 게시할 수 있으며 인덱스/저장 요청 로직에 시간 제한이 설정되어 있지 않으므로 데이터를 데이터베이스에 삽입할 수 있습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!