0

PHPassを使用して、データベースに保存されているパスワードを暗号化しています。このコードを実行すると:

if (is_readable('/dev/urandom') && ($fh = @fopen('/dev/urandom', 'rb'))) {
    ...
}

次の警告が生成されます。

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): 
(/home/d36234:/usr/local/lib/php:/var/apachefs/uploads:/tmp:/etc/file/magic) in /home/d36234/.../PasswordHash.php on line 51

ここで何が問題なのですか?どうすれば修正できますか?

4

1 に答える 1

1

何が起こっているかを教えてくれます:/dev/ファイルを開くことが許可されているフォルダーの 1 つではありません。これらはエラー メッセージに示されています。可能であれば、 open_basedir 値を変更する必要があります。

それ以外の場合は、に置き換えて警告を抑制is_readable@is_readableます。次に、PHPass は PHP 関数を使用してランダムな値を生成します。

于 2015-01-08T10:47:14.980 に答える