當前位置:首頁 » 編程語言 » 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-02-01 23:37:19 瀏覽:422
光遇安卓畫質為什麼沒有ios好 發布:2025-02-01 23:33:33 瀏覽:844
免費網店系統源碼 發布:2025-02-01 23:24:05 瀏覽:310
壓縮不原圖 發布:2025-02-01 23:23:30 瀏覽:923
安卓手機數字怎麼變成紅色 發布:2025-02-01 22:50:20 瀏覽:407
康佳29寸電視存儲器壞怎麼代換 發布:2025-02-01 22:40:44 瀏覽:190
訪問的結果 發布:2025-02-01 22:30:12 瀏覽:178
cmd訪問網站 發布:2025-02-01 22:02:45 瀏覽:443
清除svn緩存 發布:2025-02-01 22:01:04 瀏覽:948
安卓模擬器怎麼用鍵盤操作 發布:2025-02-01 21:55:24 瀏覽:811