安全な(HTTPS)ページにあるフォームがあり、別のページに投稿しています。フォームアクションでは、プロトコルは指定されていませんが、元のページと同じプロトコルを使用すると想定します。以下を参照してください:
<form id="dummy_form" action="do_action.php" method="POST">
<input type="hidden" name="some_field" id="some_field">
</form>
これが機能したと私が信じた方法は、相対URLがそれが置かれているページと同じプロトコルを使用するため、すべてのトラフィックが暗号化されることです。
しかし、私は最近、フォームが安全ではなく、情報がプレーンテキストで送信されていると誰かに連絡してきました。私は仮定ブラウザの開発ツールを使用してネットワークトラフィックを検査したばかりです(Googleコンソールのネットワークタブにあるデータのスクリーンショットを送ってくれました)が、私は質問する方が良いと思いましたより広いコミュニティとチェック?
転ばぬ先の杖!
相対URL ここで使用されるメソッドを継承とドメインおよびベースURLのパスの一部。ベースURLは通常、ブラウザのURLバーに表示されるURLですが、 base tag を使用して変更することもできます。したがって、-ベースURLがhttpsを使用する場合の場合、相対URLも使用します。
baseタグは実際に異なるメソッドを指定する場合があります実際にロードされたURL(URLバーに表示される)とは異なることに注意してください。次の例では、フォームはページが最初にHTTPSを使用してロードされた場合でもプレーンHTTP経由で送信されますとなり、URLバーにそのように表示されます。
<!doctype html>
<base href=http://example.com/> <!-- plain HTTP in base URL -->
<form action=submit.php> <!-- will be submitted with plain HTTP -->
...
</form>
つまり、ソースコードの特定の部分とURLバーのURLを確認するだけでは、フォームの送信に実際に使用されるメソッドを特定するのに十分ではありません。