apacheでcookieを書き換える時に注意したいこと
下のサイトに記載されているように、もう間もなくchromeのcookieのSameSite属性の仕様変更が リリースとなります。(2/17時点ではまだの様です)
ECサイトなどで外部のカード決済サービスを使用していると、カード決済サービスからECサイトに 戻る際のPOSTリクエストでcookieが送信されず、セッションが引き継がれない問題が発生する可能性があります。
既存のショッピングカートシステムに手を入れられない場合、WEBサーバ側で何とかするしかありませんが、 apacheのmod_headerモジュールが入っていれば、httpd.confなどに以下の様な設定を記述してSameSite属性を付与することができます。
Header edit Set-Cookie ^(Cookie名=.*)$ "$1; SameSite=None;"
注意点として、全てのcookieを変更するのであれば、^(.*)$
で良いのですが、
上記の様に特定のcookieのみ設定を変更する場合は、^(Cookie名)$
ではマッチしません。
(Cookie名=hogehoge;の後に、 expires=xxx;やSecureなどの文字列が付加されているためです。)
また、$1; SameSite=None;
はダブルクォートで括らないと、
error: envclause should be in the form env=envar
のエラーとなります。 分かってしまえばなんて事はないのですが、エラーメッセージでググってもあまり情報が無かったので忘備録です。