3

ログインにパスワードが必要で、データベースがないページが必要です。

ページにハードコーディングすることを考えていました。

$password = "something"

それとも暗号化してテキストファイルに保存しますか?

アドバイスをいただければ幸いです。

4

4 に答える 4

4

PHP の md5 暗号化ライブラリを使用してパスワードを暗号化し、テキスト ファイルに保存することができます。md5 は元に戻せないため、パスワードは安全です。

プレーンテキストで保存したくないことは間違いありません。

パスワードを PHP ファイルに保存することもできますが、暗号化されたハッシュを使用します。ファイルの利点は、データがビジネス ロジックから分離されていることです。これにより、データベースの追加や複数のユーザー/パスワードの使用が少し簡単になります。

更新: パスワードを暗号化されていない PHP スクリプトにプレーン テキストで保存すると、サーバーをハッキングしたり、サーバーにアクセスしたりした人は、プレーン テキストの PHP ファイルの内容を読み取ることができます。

于 2011-01-22T03:21:57.693 に答える
4

データベースに保存しない場合は、サーバーの webroot の外部にあるテキスト ファイルに保存する傾向があります。それを php スクリプトに保存し、サーバー構成に何かが発生した場合、php スクリプトが php を介して解析されるのではなく、プレーン テキストで提供される可能性があるため、パスワードが表示されます。確かに、通常の状況では、これが起こる可能性はあまりありませんが、リスクの可能性があります。暗号化すると役立つ場合がありますが、復号化キーもどこかに保存する必要があるため、誰かが復号化するのは少し不便です. パスワードをハッシュ形式 (MD5 や SHA-1 など) で保存し、ユーザーが入力したパスワードを同じ方法でハッシュしてから、ハッシュを比較する方がよい場合があります。

于 2011-01-22T03:22:30.877 に答える
3

あなたはそれらのいずれかを行うことができます。セキュリティのために、実際のパスワードではなく、必ずパスワードのハッシュを保存してください。これは非常に単純な例です。

<?
    if(md5($_REQUEST['password']) == 'md5ofyourpasswordHERE'){
         //do your logged in page stuff here.
    } else {
         //kick them out or tell them to resupply password.
    }
?>

ユーザー名が重要な場合は、ユーザー名を確認することもできます。

それが役立つことを願っています!

于 2011-01-22T03:22:59.650 に答える
1

テキストファイルに保存するか、PHPスクリプトにハードコードしたい場合は、ハッシュすることをお勧めします

  • 最初echo sha1('your password');
  • 結果文字列 (読み取り不可) コピーしてスクリプトまたはテキスト ファイルに貼り付ける
  • 比較使用時if ( sha1($password) == '543f3fc32c232c32') ...

ハッシュにmd5も使用できます

どちらの方法も一方向の暗号化であるため、「パスワードを覚えていることを確認してください」

于 2011-01-22T03:23:37.940 に答える