2012-05-12 44 views
0

我登錄頁面上有這樣的代碼作爲認證文件我的CMS:的mcrypt/MySQL的語法錯誤

//$login=true; 
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
    $key_hex = '6ee92bd4ef85c73b834cfa59ca343b7c'; 
    $key_bin = pack('H*', $key_hex); 
    $pas = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key_bin, $_SESSION['p'], MCRYPT_MODE_ECB, $iv); 
    $pas=trim($pas); 
    $query="select *,PASSWORD('{$pas}') as password, UNIX_TIMESTAMP() as now from adm where login='{$_SESSION['l']}' LIMIT 1"; 

它在大多數服務器的偉大工程,但在HostGator的它不」 T:/

查詢錯誤選擇 *,PASSWORD( 'ŃÇBňzŐO<〜îøq'Ńsč:A(E/E')爲haslo,UNIX_TIMESTAMP()作爲現在從ADM其中登錄名= '管理員' LIMIT 1 您的語法obok'Ńsč:Á(ě/Ä')作爲密碼有問題, UNIX_TIMESTAMP()就像現在從adm那裏登錄='admin'LI'在線1 登錄錯誤!

我看到正在生成的密碼是這樣的:

*4ACFE3202A5FF5CF467898FC58AAB1D615029441 

,而不是像這樣:

1ce99313667de467 

如何糾正呢?

+0

編碼錯誤也許?嘗試在發送查詢之前運行這些查詢:mysql_query(「SET NAMES utf8;」); mysql_query(「SET CHARACTER_SET utf8;」); – Ansari

+0

我應該在哪裏添加?我有一個mysql.php文件,但是當我添加它時,它只是拋出無法連接到數據庫。 – Spacedust

+0

建立與數據庫的連接後,將其置於此位置。 – Ansari

回答

0

這是register_globals問題。打開後,一切都OK了。