Press "Enter" to skip to content

PHP简单利用 token 防止表单重复提交

内容目录
  1. <?php
  2. /*
  3. * PHP简单利用token防止表单重复提交
  4. * 此处理方法纯粹是为了给初学者参考
  5. */
  6. session_start();
  7. function set_token() {
  8.     $_SESSION[‘token’] = md5(microtime(true));
  9. }
  10.  
  11. function valid_token() {
  12.     $return = $_REQUEST[‘token’] === $_SESSION[‘token’] ? true : false;
  13.     set_token();
  14.     return $return;
  15. }
  16.  
  17. //如果token为空则生成一个token
  18. if(!isset($_SESSION[‘token’]) || $_SESSION[‘token’]==) {
  19.     set_token();
  20. }
  21.  
  22. if(isset($_POST[‘test’])){
  23.     if(!valid_token()){
  24.         echo “token error”;
  25.     }else{
  26.         echo ‘成功提交,Value:’.$_POST[‘test’];
  27.     }
  28. }
  29. ?>
  30. <form method=“post” action=“”>
  31.     <input type=”hidden” name=”token” value=”<?php echo $_SESSION[‘token’]?>“>
  32.     <input type=“text” name=“test” value=“Default”>
  33.     <input type=“submit” value=“提交” />
  34. </form>

One Comment

  1. 屠龙
    屠龙 2014年5月23日

    收藏了,以后可能用的着。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注