2014-10-27 68 views
4

我是在我的開發機器(家用電腦)上工作的唯一一個擁有Ubuntu操作系統的人。我不關心在生產服務器上必不可少的安全性。我討厭如果我讓phpmyadmin坐得太久而出現令牌不匹配錯誤。所以我在第483至486行中入侵libraries/common.inc.php以迫使phpmyadmin總是認爲該標記匹配。有沒有最好的方法來關閉phpmyadmin令牌檢查?

$token_mismatch = false; 
/*if (PMA_isValid($_REQUEST['token'])) { 
    $token_mismatch = ($_SESSION[' PMA_token '] != $_REQUEST['token']); 
}*/ 

這是處理這個問題的最好方法,並且這可能會把其他問題搞砸嗎?

回答

0

這應該沒問題,但是您也可以在config.inc.php中增加$cfg\['LoginCookieValidity'\]的值。請注意,您還必須增加PHP設置session.gc_maxlifetime以匹配,因爲PHP設置會覆蓋phpMyAdmin的較小的設置。這會阻止你的會話過期。

關於問題的不匹配令牌部分,這可能與即將到期的會話直接相關,但不是預期結果(您應該得到一個對話框,通知您的會話已過期並重定向到登錄屏幕)。我看到的主要原因是answered here,一般是因爲PHP的目錄配置錯誤session.save_path(它被註釋掉,不存在或者權限不正確)。

如果失敗了,最近有一些工作要完成,以便在發生令牌不匹配錯誤時進行改進,但這似乎與您看到的問題沒有直接關係。但是,您可以下載當前的「主」快照(https://github.com/phpmyadmin/phpmyadmin/,並在右側查找「下載ZIP」鏈接),或者我建議您在發佈4.3可用時查看,這應該很快。

2

禁用令牌:

庫/ common.inc.php

/* 
$token_mismatch = true; 
if (PMA_isValid($_REQUEST['token'])) { 
    $token_mismatch = ($_SESSION[' PMA_token '] != $_REQUEST['token']); 
} 
*/ 
$token_mismatch = false; 
0

在新版本剛剛在libraries/common.inc.php改變truefalse。但不推薦在生產服務器上使用。

$token_mismatch = false; 
相關問題