一、在控制器加载到模版前
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;">