Session ZF2会话验证器
我在Zend Framework 2中实现了HttpUserAgent和RemoteAddr验证器,以帮助防止会话劫持Session ZF2会话验证器,session,zend-framework2,Session,Zend Framework2,我在Zend Framework 2中实现了HttpUserAgent和RemoteAddr验证器,以帮助防止会话劫持 use Zend\Session\Validator\HttpUserAgent; use Zend\Session\SessionManager; $manager = new SessionManager(); $manager->getValidatorChain()->attach('session.validate', array(new HttpUse
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.
是否有回调或其他我没有做的事情来防止代码死掉?这是php,我们不使用回调,但抛出异常。您需要捕获异常并从此处开始处理它
我建议使用事件管理器并监听dispatch事件来验证用户。这必须是评论,而不是答案。