PHP使用token防止表單重復(fù)提交的方法

字號(hào):


    本文實(shí)例講述了PHP使用token防止表單重復(fù)提交的方法。分享給大家供大家參考,具體如下:
    <?php
    /*
    * PHP使用token防止表單重復(fù)提交
    * 此處理方法純粹是為了給初學(xué)者參考
    */
    session_start();
    function set_token() {
      $_SESSION['token'] = md5(microtime(true));
    }
    function valid_token() {
      $return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
      set_token();
      return $return;
    }
    //如果token為空則生成一個(gè)token
    if(!isset($_SESSION['token']) || $_SESSION['token']=='') {
      set_token();
    }
    if(isset($_POST['test'])){
      if(!valid_token()){
        echo "token error";
      }else{
        echo '成功提交,Value:'.$_POST['test'];
      }
    }
    ?>
    <form method="post" action="">
      <input type="hidden" name="token" value="<?php echo $_SESSION['token']?>">
      <input type="text" name="test" value="Default">
      <input type="submit" value="提交" />
    </form>
    希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。