1. ホーム
  2. ハイパーリンク

[解決済み】GETとPOSTのどちらが安全か?

2022-03-29 23:03:44

質問

HTTP GETとHTTP POSTを比較した場合、セキュリティの観点からはどのような違いがありますか?どちらか一方を選択する方が本質的に安全ですか?もしそうなら、それはなぜですか?

POSTはURLの情報を公開しないことは承知していますが、そのことに何か真価があるのでしょうか、それとも単なる無名によるセキュリティなのでしょうか?セキュリティが懸念される場合に、POSTを選択すべき理由はあるのでしょうか?

編集する

HTTPS上では、POSTデータはエンコードされていますが、URLは第三者に盗聴される可能性があるのでしょうか?さらに、私はJSPを扱っています。JSPまたは同様のフレームワークを使用する場合、POSTまたはGETに機密データを完全に配置することを避け、代わりにサーバー側のコードを使って機密情報を処理することがベストプラクティスであると言ってもよいのでしょうか?

どのように解決するのですか?

セキュリティに関しては、両者は本質的に同じです。 確かにPOSTはURLを介して情報を公開しませんが、実際のクライアントとサーバー間のネットワーク通信ではGETと同じように情報を公開します。 機密性の高い情報を渡す必要がある場合は、安全なHTTPを使用して情報を渡すことが第一の防御策になります。

GETやクエリ文字列の投稿は、特定のアイテムをブックマークしたり、検索エンジンの最適化やアイテムのインデックス化を支援するために必要な情報を得るのに本当に適しています。

POSTは、1回限りのデータを送信するために使用される標準的なフォームに適しています。ユーザーがクエリをブックマークに保存できるような検索フォームを除いて、実際のフォームの投稿にGETを使用することはありません。