2011-11-18 86 views
1

我使用Tank Auth for Codeigniter來方便用戶註冊和登錄。坦克認證登錄本地成功,服務器失敗

問題:我能夠使用我的本地Windows開發服務器(XAMPP)上的坦克驗證完美登錄。但是,當我將整個數據庫和整個目錄結構複製到遠程服務器時,使用遠程服務器詳細信息更新了config/config.phpconfig/database.php,我無法再使用Tank Auth登錄!給出的錯誤是incorrect password。使用PHPMyAdmin,我使用MD5()函數重置了密碼,但我仍然無法登錄。

任何想法出了什麼問題,或者你如何設法解決它?

編輯:如果我遠程站點上註冊一個新用戶,其登錄將工作!我仍然需要知道如何解決這個問題,因爲我可能很快會更換服務器。

回答

3

由於Tank Auth使用phpass,您需要使散列便攜。在您的Codeigniter項目中,轉到應用程序> config> tank_auth.php並在第22行,將以下布爾值更改爲TRUE(我認爲默認情況下它設置爲FALSE)。

$config['phpass_hash_portable'] = TRUE; 
3

我從來沒有使用過它,但是IIRC Tank Auth使用phpass來散列密碼,這使得它很難被移植。

像你這樣使用md5()是無用的,並且違背了Tank Auth背後的目的!

一個解決方案可能是檢索原始信息:下載一個新的軟件包,複製默認的管理數據並使用庫的方法來生成新的密碼。

+0

是的我看到了Tank Auth文件裏面的phpass庫。無論如何,使文件便攜? – Nyxynyx

+0

@Nyxynyx我更新了我的答案 –

+0

我沒有完全得到它,我下載了什麼新軟件包,管理員數據是什麼,以及如果原始密碼已經散列,如何重新生成哈希密碼。 – Nyxynyx

1

我有同樣的問題,並在不同的網站上完全相同的tankauth工作正常。問題是,它沒有工作的網站有html5樣板文件中的.htacces文件,而這個文件似乎不太喜歡。我刪除了該文件,它工作正常。

+0

感謝您的單挑。 tank_auth沒有使用的網站沒有使用html5樣板。後來我轉移到一個新的PHP框架,內置了一個認證庫。將使用新框架重寫我的舊網站。 – Nyxynyx