PHP는 양식이 반복적으로 제출되는 것을 어떻게 방지합니까?
문제 해결을 위한 쿠키 메커니즘 도입 (권장 학습: 초보부터 숙련도까지 PHP 프로그래밍)
사용자가 백엔드에 양식을 제출합니다. , 쿠키에 표시하고 이 기간 내에 반복 제출이 유효하지 않음을 지정합니다. 그러나 사용자가 쿠키를 비활성화하면 이 방법은 실패합니다.
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处理数据 // 30秒内重复提交无效 setcookie('formFlag', time(), time() + 30);
Session
양식 페이지를 표시할 때 임의의 숫자가 생성되어 세션과 양식의 숨겨진 필드에 저장됩니다. 처음 제출할 때 세션의 값을 비교하고 성공적으로 삭제하십시오.
PHP의 세션 기능을 사용하면 양식의 반복 제출을 피할 수도 있습니다. 세션은 서버측에 저장됩니다. 세션 변수는 PHP가 실행되는 동안 변경될 수 있습니다. 따라서 다음에 이 변수에 액세스하면 새로 할당된 값을 얻게 됩니다. 따라서 세션 변수를 사용하여 제출된 값을 기록할 수 있습니다. 양식이 일치하지 않으면 반복적으로 제출하는 사용자로 간주됩니다.
아아아아위 내용은 PHP에서 양식이 반복적으로 제출되는 것을 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!