4

次の方法でログインを処理するアプリケーションを作成しようとしている場合、どのような懸念がありますか。

http://api.myApp.example/printSomething/username/password/

POST されたユーザーの詳細 (ユーザー名とパスワード) に基づく通常のログイン ページと比較して、どの程度安全ではないのでしょうか? 違いはありますか?

ありがとう

4

3 に答える 3

11

それをしないでください。その代わりに POST メソッドを使用します。URL で機密情報を許可しないでください。

于 2010-07-04T15:50:57.527 に答える
10

違いは、パスワードがアドレス バーに表示されることと、ユーザーがサイトからアクセスするすべてのサイトで、ユーザーのパスワードが REFERER ヘッダーに表示されることです。

于 2010-07-04T15:53:16.510 に答える
2

実際には、それほど大きな違いはありません。攻撃者が混乱しやすくなるだけです。

しかし、 URL はブラウザの履歴やログなどに頻繁に保存されます。つまり、ブラウザにアクセスできる (または URL にアクセスできる) 誰でも、ユーザー名と平文のパスワードを見ることができます。

アップデート:

質問のタイトルに関して、そして私の答えを明確にするために:

GET要求と要求の両方POSTが、ブルート フォース攻撃を行うために簡単に悪用される可能性があります。を使用GETすると、攻撃者がこれを手動で実行しやすくなりますが、ほとんどの場合、これらは自動攻撃です。つまり、アプリケーションがこれらのリクエストを実行するため、使用される HTTP メソッドはまったく無関係です。

1 つの HTTP メソッドを選択しても、ブルート フォース攻撃を防ぐことはできません。
1 つの IP からの 1 分間あたりのアクセス数を制限するなど、サーバー側でそのようなことを行う必要があります。

于 2010-07-04T15:53:02.390 に答える