>  기사  >  백엔드 개발  >  양식의 반복 제출을 방지하기 위해 PHP에서 토큰을 사용하는 방법

양식의 반복 제출을 방지하기 위해 PHP에서 토큰을 사용하는 방법

墨辰丷
墨辰丷원래의
2018-06-04 10:07:391525검색

이 글에서는 암호화된 난수를 생성하여 세션의 토큰 변수에 저장하는 동시에 해당 값을 폼에 넣어 제출을 숨기는 방식으로 양식의 반복 제출을 방지하기 위해 토큰을 사용하는 PHP 방법을 주로 소개합니다. , 양식 반복 제출 방지 기능이 구현되었습니다. 도움이 필요한 친구들이 참고할 수 있습니다

<?php
/*
* PHP使用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
*/
session_start();
function set_token() {
  $_SESSION[&#39;token&#39;] = md5(microtime(true));
}
function valid_token() {
  $return = $_REQUEST[&#39;token&#39;] === $_SESSION[&#39;token&#39;] ? true : false;
  set_token();
  return $return;
}
//如果token为空则生成一个token
if(!isset($_SESSION[&#39;token&#39;]) || $_SESSION[&#39;token&#39;]==&#39;&#39;) {
  set_token();
}
if(isset($_POST[&#39;test&#39;])){
  if(!valid_token()){
    echo "token error";
  }else{
    echo &#39;成功提交,Value:&#39;.$_POST[&#39;test&#39;];
  }
}
?>
<form method="post" action="">
  <input type="hidden" name="token" value="<?php echo $_SESSION[&#39;token&#39;]?>">
  <input type="text" name="test" value="Default">
  <input type="submit" value="提交" />
</form>

요약: 위 내용은 이 글의 전체 내용이므로 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 권장 사항:

PHP 파일 다운로드 기능 예제에 대한 자세한 설명

PHP는 헤더 방식을 사용하여 파일 다운로드 기능을 구현합니다.

PHP 방식으로 QRCODE 기반 컬러 QR 코드를 생성합니다

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

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