web-dev-qa-db-ja.com

Cookieパスとサブフォルダーページへのアクセス

Www.example.comというドメインのウェブサイトがあるとしましょう

パス '/'でCookieを設定すると、Cookieはドメイン内のすべてのページからアクセスできます。例:

  • www.example.com/page1.html
  • www.example.com/subfolder1/page1.html
  • www.example.com/subfolder1/moresubfolder1/page1.htmlなど.

Cookieをパス '/ subfolder1'に設定すると、Cookieはすべてのページまたはサブフォルダーで使用可能になりますフォルダの下に?例えば:

  • www.example.com/subfolder1/moresubfolder/page1.html

そうでない場合、私は推測します、私はそれらのクッキーにパス「/」を使用する以外に選択肢はありませんか?

63
Nordin

Cookieをパス'/ subfolder1'に設定すると、Cookieはフォルダーの下のすべてのページまたはサブフォルダーで使用可能になりますか?

はい。 Cookieすべてのページとサブディレクトリwithinで使用可能/subfolder1パス。

65
Alex Barrett

cookieをパス/subfolder1に設定すると、例の次のページにアクセスできます。

www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1/page1.html
等。

ただし、許可されたパスに属していないため、ページwww.example.com/page1.htmlはアクセスできません。

12
thefunfreak

this answerの一部を再利用して、あいまいさを解消するには:

次の条件の少なくとも1つが成り立つ場合、要求パスは指定されたCookieパスと一致します。

  • Cookie-pathとrequest-pathは同一です。
  • Cookie-pathはrequest-pathのプレフィックスであり、cookie-pathの最後の文字は%x2F( "/")です。
  • Cookie-pathはrequest-pathのプレフィックスであり、cookie--に含まれないrequest-pathの最初の文字です
    pathは%x2F( "/")文字です。

/subfolder1パスと/subfolder1/パスでのCookieの設定には、わずかな(しかし潜在的に重要な)違いがあります。

前者に依存している場合、要求パスは「%x2F( "/")文字」(スラッシュ)で始まる必要があり、目的の動作を保証します。例として、リンクされた回答をご覧ください。

Cookieパスを単に/に設定すると、Edgeのケースを回避できますが、あなたが言うように、Cookieはドメイン全体からアクセス可能になります。

8
Michael