2017-10-11 78 views
0

是否可以检测到“幕后”URL切换?这样一来,切换到的网站上的用户就会退回到其登录页面。可以检测到URL切换?

我们有一台生产服务器,登台服务器和演示服务器,连接到它们各自的数据库。他们恰好在硬件上从不同的URL共享由Apache提供的相同物理硬件。我们使用PHP和CakePHP框架。

我已经做了很多次,通常是登录到其中一个网站,然后输入其他网址之一,它仍然有效。另一个网站认为我已经成功登录,实际上我已经登录了其“堂兄弟”之一。它“知道”这是由于所有三个显然共享的会话信息。

我确定某处存在安全风险。我应该尝试使用仅在其中一个网站上有效的帐户。即,成功登录到一个网站,然后查看“堂兄”是否接受由于URL切换而在本地无效的帐户。

这可以检测和防止?如果是这样,怎么样?或者这个问题无关紧要?

回答

2

您需要使用不同的会话密钥对每个服务器

CakePHP的2.x的如:

AuthComponent::$sessionKey = 'Auth.ServerDev'; 

CakePHP的3.X如:

'storage'=>['className' => 'Session', 'key' => 'Auth.ServerDev'] 
+0

谢谢,这看起来像它应该工作。我只需要弄清楚我们的系统放在哪里。 – UncaAlby

0

感谢@Bart指点我在一个非常好的方向。

我发现在CakePHP 2中工作的技巧是编辑APP/Config/core.php文件,找到'Session'配置数组,并将'cookie'设置为唯一名称。

例如为:

​​