2016-01-20 38 views
1

我正在一个PHP站点上工作。我已经设置超时用户会话过期哪些工作正常。但是用户会话在机器重启后没有被破坏,我认为这是一个安全问题。Debian重启后会记住PHP会话

我在Debian guest虚拟机上运行该站点,nd我的主机是Ubuntu。我对这个问题进行了足够的研究,以了解会话在超时或用户注销之前不会被破坏。我在这里错过了什么?

我使用Chrome和Firefox进行了测试。

+0

澄清:您正在重新启动机器,但未注销用户或等待会话超时。正确? – jkdev

+0

正好。那是我的情况。这是一个浏览器问题,或者我在php.ini中丢失了什么? – user2402244

回答

2

如果你使用:当浏览器关闭

session_set_cookie_params(0); 
session_start(); 

你的会话cookie会破坏...所以你的会议将是很好的,直到他们关闭浏览器。 IE浏览器。您登录后,您已经登录,关闭浏览器,重新打开它,再次访问网站,并且您不会登录。

+0

但问题是当我离开网站在浏览器上运行并重新启动客人。会议不会被破坏。 – user2402244

+0

参考 http://stackoverflow.com/questions/24402047/php-session-destroy-after-closing-browser https://www.sitepoint.com/community/t/php-session-does-not-到期上闭浏览器/2分之6831 –

0

为什么你期望重新启动机器来清除会话,以及如何这是一个安全问题?如果要清除会话当机器启动,只需添加:

rm -f /tmp/sess_* 

要将/etc/rc.local。将/tmp/sess_*替换为您在php.ini中配置session.save_path的任何地方。