ロードバランサーを通してconcrete5のセッションを維持する

concrete5 では、セッションハイジャック対策のため、セッション中にIPアドレスとユーザーエージェントが変更された場合に、セッションを殺す仕様になっています。ところが、AWS ELBのようなバランサーを通すと、Webサーバーに到達するIPアドレスがユーザーごとに一定になりません。その場合の回避方法です。

<?php
// application/config/concrete.php

return [
    'security' => [
        'session' => [
            'invalidate_on_ip_mismatch' => false
        ]
    ]
];

はい、IPアドレスがミスマッチを起こしているかどうかのチェックをオフにしています…。これは限定的な回避方法で、X-Fowerded-For ヘッダでオリジナルのIPアドレスが渡されているため、回避は可能なはずです。引き続き検証していきます。
 

更新: 2018/11/19  (by Katz)

正しいやり方を下記ブログ記事に投稿しました。


コメント欄を読み込み中