>  기사  >  백엔드 개발  >  PHP에서 양식이 반복적으로 제출되는 것을 방지하는 방법

PHP에서 양식이 반복적으로 제출되는 것을 방지하는 방법

(*-*)浩
(*-*)浩원래의
2019-09-27 14:48:312986검색

PHP는 양식이 반복적으로 제출되는 것을 어떻게 방지합니까?

PHP에서 양식이 반복적으로 제출되는 것을 방지하는 방법

문제 해결을 위한 쿠키 메커니즘 도입 (권장 학습: 초보부터 숙련도까지 PHP 프로그래밍)

사용자가 백엔드에 양식을 제출합니다. , 쿠키에 표시하고 이 기간 내에 반복 제출이 유효하지 않음을 지정합니다. 그러나 사용자가 쿠키를 비활성화하면 이 방법은 실패합니다.

<?php
  
if (isset($_COOKIE[&#39;formFlag&#39;])) {
  exit(&#39;error&#39;);
}
  
// 处理数据
  
// 30秒内重复提交无效
setcookie(&#39;formFlag&#39;, time(), time() + 30);

Session

양식 페이지를 표시할 때 임의의 숫자가 생성되어 세션과 양식의 숨겨진 필드에 저장됩니다. 처음 제출할 때 세션의 값을 비교하고 성공적으로 삭제하십시오.

PHP의 세션 기능을 사용하면 양식의 반복 제출을 피할 수도 있습니다. 세션은 서버측에 저장됩니다. 세션 변수는 PHP가 실행되는 동안 변경될 수 있습니다. 따라서 다음에 이 변수에 액세스하면 새로 할당된 값을 얻게 됩니다. 따라서 세션 변수를 사용하여 제출된 값을 기록할 수 있습니다. 양식이 일치하지 않으면 반복적으로 제출하는 사용자로 간주됩니다.

아아아아

위 내용은 PHP에서 양식이 반복적으로 제출되는 것을 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.