一、function.php
################################################# # 取得token form ################################################# if (!function_exists("getTokenHTML")) { function getTokenHTML() { $_SESSION['token'] = substr(md5(uniqid(mt_rand(), 1)), 0, 8);//取得一個亂數 $pass = password_hash($_SESSION['token'], PASSWORD_DEFAULT);//加密 return "<input type='hidden' name='token' id='token' value='{$pass}' />";//傳回隱藏token } } ################################################# # verify token ################################################# if (!function_exists("verifyToken")) { function verifyToken($hash) { if (password_verify($_SESSION['token'], $hash)) { //判斷token return ; } redirect_header(WEB_URL, 3000, 'token 驗證失敗'); } }
二、後台
$token = getTokenHTML(); $smarty->assign("token", $token);
#驗證token verifyToken($_POST['token']);
三、樣板
在表單中加入 <{$token}>