當前位置:首頁 » 編程語言 » token驗證PHP

token驗證PHP

發布時間: 2023-09-21 11:59:12

php在控制器中怎麼添加token驗證,具體代碼 謝謝

//獲得token
privatefunctiongetToken(){
$tokenName=C('TOKEN_NAME',null,'__hash__');
$tokenType=C('TOKEN_TYPE',null,'md5');
if(!isset($_SESSION[$tokenName])){
$_SESSION[$tokenName]=array();
}
//標識當前頁面唯一性
$tokenKey=md5($_SERVER['REQUEST_URI']);
if(isset($_SESSION[$tokenName][$tokenKey])){//相同頁面不重復生成session
$tokenValue=$_SESSION[$tokenName][$tokenKey];
}else{
$tokenValue=is_callable($tokenType)?$tokenType(microtime(true)):md5(microtime(true));
$_SESSION[$tokenName][$tokenKey]=$tokenValue;
if(IS_AJAX&&C('TOKEN_RESET',null,true))
header($tokenName.':'.$tokenKey.'_'.$tokenValue);//ajax需要獲得這個header並替換頁面中meta中的token值
}
returnarray($tokenName,$tokenKey,$tokenValue);
}

Ⅱ php介面怎樣安全接收並驗證token

<?php
/*
*PHP簡單利用token防止表單重復提交
*此處理方法純粹是為了給初學者參考
*/
session_start();
functionset_token(){
$_SESSION[『token』]=md5(microtime(true));
}
functionvalid_token(){
$return=$_REQUEST[『token』]===$_SESSION[『token』]?true:false;
set_token();
return$return;
}
//如果token為空則生成一個token
if(!isset($_SESSION[『token』])||$_SESSION[『token』]==」){
set_token();
}
if(isset($_POST[『test』])){
if(!valid_token()){
echo"tokenerror";
}else{
echo『成功提交,Value:』.$_POST[『test』];
}
}
?>
<formmethod="post"action="">
<inputtype="hidden"name="token"value="<?phpecho$_SESSION[『token』]?>">
<inputtype="text"name="test"value="Default">
<inputtype="submit"value="提交"/>
</form>

熱點內容
輕微壓縮性骨折沒卧床 發布:2025-08-02 03:59:47 瀏覽:194
照相館用什麼配置的筆記本電腦好 發布:2025-08-02 03:59:46 瀏覽:838
光遇伺服器為什麼進不去 發布:2025-08-02 03:51:28 瀏覽:515
plsql教程視頻 發布:2025-08-02 03:49:58 瀏覽:217
多伺服器共享存儲 發布:2025-08-02 03:46:54 瀏覽:84
怎麼調wifi密碼 發布:2025-08-02 03:44:07 瀏覽:485
機房伺服器怎麼連電腦 發布:2025-08-02 03:43:59 瀏覽:486
凱迪拉克xt4買哪個配置性價比高 發布:2025-08-02 03:43:58 瀏覽:578
知蒙編程 發布:2025-08-02 03:42:35 瀏覽:436
sql1326 發布:2025-08-02 03:36:09 瀏覽:129