セッションの乗っ取りを防ぐために、Zend Framework 2 に HttpUserAgent および RemoteAddr バリデーターを実装しました。
use Zend\Session\Validator\HttpUserAgent;
use Zend\Session\SessionManager;
$manager = new SessionManager();
$manager->getValidatorChain()->attach('session.validate', array(new HttpUserAgent(), 'isValid'));
ハイジャックされたセッションを停止するように見えますが、適切なエラー メッセージを表示したり、ユーザーをログイン ページに再ルーティングしたりすることはできません。代わりに、次の PHP エラー メッセージが表示されます。
Fatal error: Uncaught exception 'Zend\Session\Exception\RuntimeException'
with message 'Session validation failed' in \zendframework\library\Zend\Session\SessionManager.php on line 111.
コードが死ぬのを防ぐために私がしていないコールバックや何か他のものはありますか?