-1

ログイン資格情報のセットをサーバールートに保存している場合、PHPファイルに保存しているだけで、ハッシュ化しないことにセキュリティ上のリスクはありますか?

$user = 'user';
$password = 'password';

疑問に思った場合に備えて、ユーザーがリンクをクリックして受信する必要がある、自分のWebサイトのコンテンツがロックされているページにログイン資格情報を保存しています。ユーザーがログインすると、このようにログインを承認できますよね?

include('../logininfo.php');
if ($_POST['user'] == $user) {
//...etc

この方法に何か問題がありますか?

4

2 に答える 2

8

はい、これは避けてください。あなたのウェブホストが失敗してPHPファイルを実行するのではなくプレーンテキストとして提供し始める可能性があります(私は経験から話します)。

クレデンシャルファイルはWebルートの外部に配置する必要があります。それでも含めることができますが、ブラウザでは提供されません。

Webルートの外部へのアクセスを許可しない共有Webホストを使用している場合は、資格情報ファイルを独自のディレクトリに配置し、.htaccessファイルを使用してディレクトリへのアクセスをブロックします。そのための手順については、こちらをご覧ください:PHPファイルへの直接アクセスを拒否する

MySQLデータベースを使用してユーザー名とハッシュ化されたパスワードを保存する必要があるという事実は、この回答の範囲を超えています。私はあなたがあなたがしていることをする正当な理由があると思います。

于 2012-06-06T07:26:26.307 に答える
2

誰もあなたのサーバーにアクセスできない限り、リスクはないと思います。しかし、とにかくパスワードをハッシュすることをお勧めします!

于 2012-06-06T07:27:13.500 に答える