3

複数のドメインからアクセスできるHerokuアプリケーションを開発しています。リクエストがどの特定のドメインに関連しているかを区別する必要があります。Locationこれは、たとえば、ヘッダーで返されるリソースの絶対URLを作成するために必要です。

HostHerokuアプリケーションへのリクエストで到着するヘッダーが、アプリケーションに関連付けられているドメイン(デフォルトxyz.herokuapp.comドメインまたはheroku domains:addコマンドで追加されたドメインの1つ)を常に指すように信頼できますか?

このヘッダーはユーザーが任意の値に設定できることは知っていますが、Herokuフロントエンドサーバーは、リクエストを正しいアプリケーションにディスパッチするために、なんらかのフィルタリングを行う必要があります。このフィルタリングの防弾は、Hostヘッダーを信頼するのに十分ですか?

4

1 に答える 1

6

リクエストがアプリケーションに到達した場合、Hostヘッダーはアプリ用に構成されたものになります。

Hostヘッダーが自分のものでない場合、Herokuサーバーは別の場所にリクエストを送信します。

間違ったホストを送信することにより、コマンドラインでこれを証明できます。例えば:

$ curl "http://ismy.herokuapp.com" -H "Host: notmy.herokuapp.com"

だから、あなたの質問への答えはイエスです。私はそれを信頼します。

于 2012-11-30T11:15:11.990 に答える