2

Tomcat の下に SSL をセットアップし、特定の URL に対して http から https へのポート リダイレクトを設定しました (security-constraint を使用)。リダイレクトは機能しますが、元の POST http 要求はすべて GET としてリダイレクトされるため、元の POST 要求のすべてのパラメーターが失われます。

POST 要求を投稿としてリダイレクトし続けるようにコネクタを構成するにはどうすればよいですか?

助けてくれてありがとう!

4

1 に答える 1

1

http://すべてのリンクをアップグレードするためにリダイレクトに依存することは一般的に悪い習慣https://です:これはMITM攻撃に対して脆弱です。理想的には、ユーザーにhttps://リンクのみを提供する必要があります(おそらくHSTSを使用)。(Webmasters.SEでこの質問を参照してください。)

アップグレードのリダイレクトは、主にリスクを軽減し(そもそもMITM攻撃者がいないと仮定して)、ユーザーに見慣れさせるためにありますhttps://。最終的に、HTTPSが使用されていることを確認できるのは彼らだけです。あなたの観点から、HTTPSセクションへのすべての独自のリンクがhttps://直接使用され、これらのリダイレクトに依存しないようにしてください。(このため、開発中にhttp-> httpsリダイレクトを有効にせず、HTTPSであることが意図されているものと同等のHTTPアドレスが404のみを返すようにすることをお勧めします。壊す。)

質問の核心に戻ると、確かにPost / Redirect / Getパターンが発生しています。これは、HTTP仕様と互換性がないと見なすことができます(実装方法と使用しているリダイレクトコードによって異なります)。

Post / Redirect / Getパターンの正しさや有用性に関する考えられる議論に加えて、リダイレクトを使用せずにhttps://URIに直接POSTすることでこれを修正する必要があります(HTTPSを使用している場合は、サイト内で相対URLを使用する方がよい場合がよくあります) )。POSTのコンテンツは最初のリクエストで(サーバーからリダイレクトを取得する前に)送信されるため、盗聴者に表示されるため、HTTPSの使用は無意味になります(そこでは使用されないため)。

于 2012-12-18T17:55:12.593 に答える