说明:
公司同事正常登录公司邮箱一会儿后,想再看一下收件箱有多少邮件。再点击其中的邮件查看时,会显示Session expired, please login again!
如果写新邮件发送的话,显示Invalid session, try again! 如下
排查:
1. 想想最近局域网更换了路由器,原来单线接入,现在改为双线了,出口IP由一个变成了两个了,是不是于此有关?如何解决呢?
上网查了查资料,看到解答思路各不相同,感觉最有可能的就是上面图中提到的“IP安全”
2. 再查看下“IP安全”的源代码get_remoteip() eq $sdata->{IPaddr}
选了IP security 之后,判断session是否合法就会多一条标准:登陆时的IP和 现在的IP地址要一样
这里的ip安全其实是这个意思:
如果勾选,那么持有同一个sid的会话必须是相同的ip地址,如果不同的ip地址,则会被视为非法。这主要是防止通过网络监听获得sid号码而获得访问用户mailbox的权利,造成漏洞。
有了上面的了解之后,我们就有了解决思路
解决:
如果是临时使用,只需要在登录界面“取消沟选IP安全项“即可。如果局域网只有一个出口IP,就无需设置此项。
也可以修改/var/www/extsuite/extmail/webmail.cf,将SYS_IP_SECURITY_ON = 设置为1
# 首页登陆时ip安全,设置为1时不打开,便于管理员设置全局,而不需要改模板;
附录:
/var/www/extsuite/extmail/webmail.cf文件是用来对webmail的核心配置进行设定,该配置文件对Extmail至关重要。里面有很多参数,具体可以看extmail_parameter_intro