0

我在登录页面上有我的 CMS 的身份验证文件这样的代码:

    //$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 上却不行:/

查询错误 select *,PASSWORD('ŃÇBňzŐO<~îøq'Ńsč:Á(ě/ę') as haslo, UNIX_TIMESTAMP() as now from adm where login='admin' LIMIT 1 你的语法有问题 obok ' Ńsč:Á(ě/ę') 作为密码,UNIX_TIMESTAMP() 现在来自 adm where login='admin' LI' on line 1 登录错误!

我看到密码是这样生成的:

*4ACFE3202A5FF5CF467898FC58AAB1D615029441

而不是这样:

1ce99313667de467

如何纠正这个?

4

1 回答 1

0

这是 register_globals 问题。开机后一切正常。

于 2012-05-16T16:12:55.933 回答