2

http://example.comにランディング ページがあります。このページには ajax ログイン バーがあり、ユーザーのログインをサーバーに送信し、認証応答を受信して​​、それをユーザーに表示します。

このアプローチの問題点は、ユーザーのログイン情報が SSL 暗号化なしでクリアテキストでサーバーに送信されることです。ただし、 https://example.comに対して同じ POST リクエストを実行すると、NGINX は 401 Unauthorized で応答します。

https://example.com/user_apiを認証 URL として使用するにはどうすればよいでしょうか?

どうもありがとう!

4

1 に答える 1

0

ランディング ページを含め、サイト全体で https を使用する必要があります。通常の http を許可しないでください。これをしていれば、あなたが抱えていた問題はなくなります。

ランディング ページに機密データがなくても、サイト全体で https を使用する必要があるのは、通信の暗号化が SSL の半分にすぎないためです。残りの半分 (これはユーザーを保護するために重要です) は、サーバーの識別です。https を使用してサイトを取得すると、秘密鍵で署名された証明書を調べることで、リモート サーバーの ID が検証されます。この証明書は信頼できる第三者に対して検証されるため、ユーザーは実際にサーバーと話していることがわかります。

サイト全体で https を使用しないと、悪意のあるサーバーがサイトになりすましてユーザーの資格情報を取得することは簡単になります。さらに良いことに、この設計により、ユーザーをアプリにログインさせ、適切なページに転送することができます。

もう 1 つの理由は、大規模なチームが Web アプリで作業している場合、誰かが誤って安全なはずのページを誤って作成してしまい、その代わりに http を使用することです。これは大きなセキュリティ ホールになる可能性があります。

サイト全体で https を使用するように再設計することを検討してください。前もっての作業は増えますが、セキュリティ上のメリットは非常に大きいです。

于 2013-03-24T15:07:19.420 に答える