ASP.NETアプリケーションでは、私が知る限り、背後にあるコードはブラウザーではなくサーバーにあります。たとえば、ログイン画面があり、背後のコードで、ログインボタンをクリックして、サーバーに送信する前にユーザーの資格情報を暗号化しています。ユーザーがログインボタンを押しているときに、対応するイベントがどのように発生し、サーバーに送信する前にユーザーの資格情報がどのように暗号化されますか?
流れを教えてもらえますか?
コードビハインドでクレデンシャルを暗号化している場合は、サーバー自体で暗号化されていますが、クライアントでは暗号化されていません。ブラウザのフォームフィールドに入力した内容はすべて、POSTの本文としてクライアントブラウザからサーバーに送信されます。
HTTPプロトコルを使用している場合は、入力したデータがネットワーク上にはっきりと表示されます(FiddlerまたはWiresharkを使用してこれを確認できます)。
データがサーバーに転送されるときにコンテンツがクリアテキストとして表示されないように、HTTPパケットを暗号化するHTTPSを使用することをお勧めします。たとえばデータベースに保存する前に、サーバー上のデータも明示的に暗号化するかどうかは、別の操作と懸念事項です。
4GuysFromRollaからのこのドキュメントは確かに日付が付けられていますが、リクエストの処理方法のハイポイントに当てはまります。
ボタンクリック用に作成したコードは、サーバー上にあることに注意してください。したがって、暗号化は、テキストがサーバー上のコードによって受信された場合にのみ発生し、それ以前には発生しません。javascriptを使用してこれらのテキストを暗号化することはお勧めしませんが、SSLの導入を検討する必要があります。SSLでアプリケーションを実行すると、暗号化/復号化プロセスが必要になるため、少し遅くなります。したがって、保護されたページをHTTPS(SSL)で実行し、他のページを通常のHTTPで実行することを計画できます。それがうまくいくことを願っています。
これを行うにはhttpsが必要です。ブラウザはサーバーに送信する前に暗号化します
バックエンドで書かれたコードはすべてサーバー上で実行されるため、パスワードの暗号化もそこで行われます。サーバーに送信する前にパスワードを暗号化する必要がある場合は、javascript が唯一の方法です。JavaScript AES、DES、3DES 暗号化アルゴリズムを使用できます。ここに良い例があります http://point-at-infinity.org/jsaes/
または、SSL を使用してデータをサーバーに送信することもできます。
ページ ライフ サイクル イベントに興味がある場合は、次を参照してください。
1) プリイット
2) 初期化
3) 初期化完了
4) LoadViewState
5) LoadPostData
6) プリロード
7) ロード
8) ロードコンプリート
9) プリレンダー
10)PreRenderComplete
11)SaveStateComplete
12)アンロード