用session存储token,来避免post重复提交

第一步,在页面调取前,生成随机数token

  $this->session->set_userdata("token", md5(microtime(true)));

 

第二步,在页面表单里,增加一个hidden的input用来提交token

  <input  type="hidden" name="token" value="<?php echo $this->session->userdata("token");?>" >

 

第三步,在post方法里, 先比较input的token和session的token是否相同, 相同则处理, 不相同则返还之前

  if( $this->input->post("token") === $this->session->userdata("token") ){

    // do something

  }else{

    // go back

  }

posted @ 2018-11-04 17:27  闻道海源  阅读(513)  评论(0)    收藏  举报