get_post_data()
フォームから POST データを取得します。次に、ユーザー名とパスワードを に送信しますprocess_login($username, $password)
。パスワードをプレーンテキストで送信したい。
これを行うのは安全ですか、それとも関数の引数として送信する前にパスワードをハッシュ/暗号化する必要がありますか?
get_post_data()
フォームから POST データを取得します。次に、ユーザー名とパスワードを に送信しますprocess_login($username, $password)
。パスワードをプレーンテキストで送信したい。
これを行うのは安全ですか、それとも関数の引数として送信する前にパスワードをハッシュ/暗号化する必要がありますか?
はい、安全です。クライアント側のハッシュ実装の不一致を防ぐために、サーバー側でハッシュを行う必要があります。
PHPコードに変数を設定したら、それを独自の関数に渡しても安全です。ユーザーはこれにアクセスできません。
クライアントからサーバーにプレーンテキストでパスワードを送信することに不安がある場合は、https の使用を検討する必要があります。
持ってて問題ない
$password = 'some piece of malicious code';
process_login($password);
悪意のあるコードは DATA として転送されるだけで、実際に実行されることはないからです。
さて、あなたが何かばかげたことをしていたとしたら (わかりました、これはまったくばかげているでしょう):
eval($password);
そうです、システムが完全に破壊される可能性があります。
パスワードを永続的な場所に保存する場合、または明らかに保存されたハッシュと照合する必要がある場合は、ハッシュを行う必要があります。
それ以外の場合、あるサーバーから別のサーバーまたは外部リソースに転送する場合は、ハッシュするか、少なくとも暗号化された接続を使用することをお勧めします。できれば両方。