有没有一种方法可以在PHP中启动持久性会话而无需放置会话cookie?是否还有其他方法可以跨页面维护会话,例如基于IP地址的解决方案?
我问的原因是,尽管大多数用户都启用了cookie,但我想看看是否有一种方法可以使禁用它的用户使用登录系统(即使我个人认为禁用cookie只是不必要的偏执狂)。
我认为要求您的用户启用Cookie并不过分。当人们完全关闭它们时,我觉得很愚蠢。
否则,您可以将其设置session.use_only_cookies为“ 0”,以强制将会话ID附加到PHP中的URL。但是,这种方法有一些缺点。主要是将状态保留在URL中,而不是Cookie标头。如果用户要复制并粘贴他们所在页面的URL,而其他人要单击它,则他们都将使用同一会话。
session.use_only_cookies
<?php ini_set("session.use_cookies", 0); ini_set("session.use_only_cookies", 0); ini_set("session.use_trans_sid", 1); ini_set("session.cache_limiter", ""); session_start();