我在登录页面上有我的 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
如何纠正这个?