web-dev-qa-db-ja.com

mod_rewriteを使用してhttpOnly Cookieにアクセスしますか?

HTTPSサイトとその他の地域との間で、Apacheを安全なプロキシ(ポート443)として実行しています。このサイトは、安全なhttpOnly Cookieを設定しています。 Cookieがトレースで表示されると、以下に示す応答パケットに表示されます。

... Other headers
Content-Length: 366
Set-Cookie:     Cookie=!bZ..mumbojumbo..; Secure; path=/; Httponly; Secure
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
.... Other content

私はhttp-ssl.confを次のように設定しています:

#Set the Our NEW Cookie to the content of secure cookie present.
RewriteCond %{HTTP_COOKIE} Cookie=([^;]+) [NC]
RewriteRule ^(.*)$ /$1 [L,CO=NewCookie:%1:our.proxy.com:1440:/]

応答で、このルールトリガーが表示されない[NewCookieが設定されていない]

Mod_rewriteはhttpOnly Cookieへのアクセスを明示的に禁止していますか?

3
Jersey_Guy

responseで、このルールトリガーが表示されない[NewCookieが設定されていない]

mod_rewriteはrequestでのみ機能します。応答でCookiesetであることを確認することはできません。

Mod_rewriteディレクティブがクライアントから送信されたリクエストに対して何もしていないように見える場合、Cookieが返送されていないか、NewCookieの設定に失敗しているように見えます(たとえば、クライアントが拒否します)ドメインの不一致のため?)

環境変数を設定し、サーバー側コードでこれが存在するかどうかを確認することで、ディレクティブが処理されているかどうかを確認できます。例えば:

[L,CO=NewCookie:%1:our.proxy.com:1440:/,E=TRIED_TO_SET_COOKIE:YES]
RewriteRule ^(.*)$ /$1

URLを書き換えずにCookieを設定するだけの場合は、代わりに-(ハイフン)を使用するだけです(特別な機能)。これは、次のように簡略化できます。

 RewriteRule ^ -

質問:mod_rewriteはhttpOnly Cookieへのアクセスを明示的に禁止していますか?

いいえ。mod_rewriteは、requestで送信された場合、Cookieを参照します。

1
MrWhite