せっかなくので、やってみた。

日々のあんなこと、こんなこと、せっかくなのでやってみた

apacheでcookieを書き換える時に注意したいこと

下のサイトに記載されているように、もう間もなくchromecookieのSameSite属性の仕様変更が リリースとなります。(2/17時点ではまだの様です)

qiita.com

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

のエラーとなります。 分かってしまえばなんて事はないのですが、エラーメッセージでググってもあまり情報が無かったので忘備録です。