一、在控制器加載到模版前
public function index(){ $_SESSION['token'] = md5(microtime(true)); $this->display(); }
二、在FORM表單中添加隱藏域
<tr> <td> <input type="hidden" name="token" value="{$Think.session.token}"> </td> <td><input type="submit" class="submit btn" value="立即注冊"></td> </tr>
三、有FORM的ACTION處理頁面中進行驗證
$token = I('post.token'); if ($token !== session('token')) { $this->error('對不起,令牌驗證失敗!'); }else{ session('token',null); }
以下為JS方式來阻止表單提交。
<form id="ticketForm" enctype="multipart/form-data" action="{:U('Index/Index/addTicket')}" method="post" onsubmit ="getElementById('submitInput').disabled=true;return true;">