YahooやGoogleなどの一部の Web サイトでは、Ajax を使用してユーザー名/パスワードが間違っているかどうかを確認します。誰でもローカルの JavaScript を変更して、だましてユーザー名/パスワードが正しいと思わせることができるため、明らかにサーバー側の認証が必要です。サーバーが同じユーザー名/パスワードを2回チェックしないので、これがどのように効率的に行われるのか疑問に思っていますか? ユーザーが Web サイトにログインする次のシナリオを考えてみましょう。
- ユーザーがログインページに来る
- ユーザーがユーザー名とパスワードを入力し、送信をクリックします
- 入力されたユーザー名/パスワードが正しい場合、サーバーはAjaxを介してクライアントと通信します
- サーバーは、ユーザー名/パスワードが正しいかどうかを返信します。この例では、
- が送信され、
<form>
断続的なページが入力された値を取得POST
し、サーバー側でそれらを再度処理して、ユーザー名/パスワードが正しいかどうか、およびセッションで変数が設定されているかどうかを確認します
ステップ 5 で、サーバーは、ステップ 3 と同じユーザー名/パスワードが正しいかどうかを再度確認します。ステップ 3 の結果をキャッシュする方法や、プロセスをより効率的にする方法はありますか? また、ステップ 3 でサーバーにはすでにユーザー名とパスワードが送信されていますが、それによってプロセスが加速するかどうかはわかりません。
ユーザー名とパスワードの保存に MySQL データベースを使用しています。