2018-11-05

(RFC読みメモ) ブラウザは URI fragment をリクエストに入れて送ってはいけない

クライアントが URI のフラグメントをリクエストに含めて送出することは許されていません。

RFC7230 §5.1 いわく:

        The target URI excludes the reference's fragment component, if any,
           since fragment identifiers are reserved for client-side processing
           ([RFC3986], Section 3.5).

具体的には §5.3 の request-target の ABNF を追っていけばそこに fragment が許されないことがわかります。
https://tools.ietf.org/html/rfc7230#section-5.3

リダイレクトで用いられる Location: について、RFC2616 では fragment が許されていなかったのですが、 RFC7230 では許されています。
フラグメントへのリダイレクトをしたいことが多いからでしょう。

それを利用して、リダイレクト元サイトで fragment に個人情報を含んでいる場合にリダイレクト先サイトの JavaScript が fragment から個人情報を抜くことにならないように、
リダイレクトで空またはダミーの fragment を指定してリダイレクト元サイトの fragment を破壊する努力義務があるという注意喚起が、
RFC7231 セキュリティ検討§9.5 にあります。 https://tools.ietf.org/html/rfc7231#section-9.5

0 件のコメント:

コメントを投稿