當前位置:首頁 » 編程語言 » 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-03-09 08:54:49 瀏覽:57
火影手游競技場腳本 發布:2025-03-09 08:48:31 瀏覽:742
電腦如何訪問谷歌 發布:2025-03-09 08:39:37 瀏覽:172
安卓怎麼多開微信 發布:2025-03-09 08:34:02 瀏覽:594
怎麼看金蝶伺服器的ip地址 發布:2025-03-09 08:33:59 瀏覽:269
pyc在線反編譯 發布:2025-03-09 08:33:17 瀏覽:933
天龍極速腳本 發布:2025-03-09 08:33:09 瀏覽:976
刀劍神域伺服器維護到什麼時候 發布:2025-03-09 08:31:40 瀏覽:217
phppdf轉html 發布:2025-03-09 08:23:01 瀏覽:640
腳本按鍵怎麼循環 發布:2025-03-09 08:19:06 瀏覽:144