HTTPS を使用する安全な Web ベースの API を作成していますが、クエリ文字列を使用してユーザーが構成 (パスワードの送信を含む) できるようにした場合、これも安全になりますか、それとも POST 経由で実行するように強制する必要がありますか?
ベストアンサー1
はい、そうです。ただし、機密データに GET を使用することは、いくつかの理由からお勧めできません。
- 主にHTTPリファラー漏洩(対象ページの外部画像からパスワードが漏洩する可能性がある[1])
- パスワードはサーバーログに保存されます(明らかにこれは良くありません)
- ブラウザの履歴キャッシュ
したがって、クエリ文字列が保護されているとしても、クエリ文字列を介して機密データを転送することはお勧めしません。
[1] ただし、RFC ではブラウザは HTTPS から HTTP にリファラを送信してはならないと規定されていることに注意する必要があります。ただし、これは、サードパーティ製の悪質なブラウザ ツールバーや HTTPS サイトからの外部画像/フラッシュがリファラを漏らさないという意味ではありません。