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 では機能しません:/

Query error 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 から 1 行目に login='admin' LI' ログイン エラー!

パスワードが次のように生成されていることがわかります。

*4ACFE3202A5FF5CF467898FC58AAB1D615029441

このような代わりに:

1ce99313667de467

これを修正するには?

4

1 に答える 1

0

register_globals の問題でした。電源を入れた後、すべてがうまくいきました。

于 2012-05-16T16:12:55.933 に答える