ホームページ >バックエンド開発 >PHPチュートリアル >javascript - 一部の Web サイトでは、ユーザーがログインを送信するときに、js を使用してパスワード ボックスのパスワードを不可逆的に暗号化し、送信します。これは必要ですか?メリットとデメリットは何ですか?

javascript - 一部の Web サイトでは、ユーザーがログインを送信するときに、js を使用してパスワード ボックスのパスワードを不可逆的に暗号化し、送信します。これは必要ですか?メリットとデメリットは何ですか?

WBOY
WBOYオリジナル
2016-08-18 09:15:421263ブラウズ

これらのウェブサイトのプロセスは大まかに次のとおりです:

ユーザー登録時:

  1. ユーザーがパスワードを入力します

  2. ユーザーが送信をクリック

  3. 送信前にフロントエンドでパスワードを暗号化します

  4. データベースに保存する前にパスワードを暗号化します

ユーザーログイン時:

  1. ユーザーがパスワードを入力します

  2. ユーザーが送信をクリック

  3. 送信する前にフロントエンドでパスワードを暗号化してください

  4. パスワードをサーバーに転送し、再度暗号化します

  5. データベース内のパスワードを比較します

これは、不純な動機を持つ人々が平文のパスワードを取得することを防ぐだけだと思いますが、平文のパスワードを知らなくても、傍受した暗号文を使用してログイン要求を作成することができます

ただし、これを行っている Web サイト (http Web サイト) がまだいくつかあるので、これを行う必要がありますか?長所と短所は何ですか?

これは明らかに https を置き換えることはできません

返信内容:

これらのウェブサイトのプロセスは大まかに次のとおりです:

ユーザー登録時:

  1. ユーザーがパスワードを入力します

  2. ユーザーが送信をクリック

  3. 送信前にフロントエンドでパスワードを暗号化します

  4. データベースに保存する前にパスワードを暗号化します

ユーザーログイン時:

  1. ユーザーがパスワードを入力します

  2. ユーザーが送信をクリック

  3. 送信前にフロントエンドでパスワードを暗号化します

  4. パスワードをサーバーに転送し、再度暗号化します

  5. データベース内のパスワードを比較します

これは、不純な動機を持つ人々が平文のパスワードを取得することを防ぐだけだと思いますが、平文のパスワードを知らなくても、傍受した暗号文を使用してログイン要求を作成することができます

ただし、これを行っている Web サイト (http Web サイト) がまだいくつかあるので、これを行う必要がありますか?長所と短所は何ですか?

これは明らかに https を置き換えることはできません

以前 ID 認証を行っていたときに、フロントエンドの暗号化について考えましたが、非常に役に立たず、ほとんど役に立たないと感じました。

サーバーにとって、フロントエンド暗号化データはユーザーのパスワードです。パケットがキャプチャされると、ハッカーはフロントエンド暗号化データを取得し、ログインするふりをすることもできます

高いセキュリティ要件がある場合は、https を使用することをお勧めしますが、攻撃される可能性もあります。

サイト全体が https の場合、HTTPS では画像であってもプロセス全体の暗号化が必要なため、すべての http リソースによってアラームが発生します。

フロントエンドで暗号化すると、送信プロセス中にパスワードが送信の暗号文であることを保証できます。つまり、パスワードの所有者以外は、パスワードを開発した人も含めて誰もパスワードを知りません。プログラム。
この方法では、たとえ誰かがあなたの http パッケージを捕らえたとしても、それを復号化することはできません (ブルートフォースクラッキングを除く)

唯一の利点は、データベースが削除されても、他の Web サイト上のユーザーのパスワードに影響を与えないことです (一般にデータベース スタッフィングとして知られています)
その他の利点は、攻撃を直接リプレイすることでユーザーのログインを偽装できることです。 http の場合、中間者攻撃によってユーザーのパスワードが傍受されると言われています。元のパスワードを知る必要はなく、同じ暗号文を使用してリクエストを再送信するだけで済みます。 https ウェブサイトが暗号化されていることも理解できます。これは、http ウェブサイトでパンツを脱いでオナラするようなものです。 -end 暗号化アルゴリズムは元に戻すことができ、役に立たないので、js 暗号化方式を復元することで暗号文を知ることができることに同意します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。