Php 如果禁用Cookie,会发生什么?
这是一个非常基本的问题。在PHP中,如果用户的浏览器禁用了COOKIE,则不能同时使用服务器COOKIE(Php 如果禁用Cookie,会发生什么?,php,session,cookies,session-cookies,Php,Session,Cookies,Session Cookies,这是一个非常基本的问题。在PHP中,如果用户的浏览器禁用了COOKIE,则不能同时使用服务器COOKIE($\u SESSION)和客户端COOKIE($\u COOKIE,setcookie),或者只禁用后者? 基本上你不能让用户登录或者做任何需要会话的事情,对吗 另外,在哪种情况下,有人希望禁用Cookie 谢谢 您可以通过$\u GET跟踪用户 想象一下,在用户访问的每个页面上,您都会传递一个?user_id=XYZ123,然后您就会实现一个非常类似的服务器标识。它有明显的缺点: 如果复制
$\u SESSION
)和客户端COOKIE($\u COOKIE
,setcookie
),或者只禁用后者?
基本上你不能让用户登录或者做任何需要会话的事情,对吗
另外,在哪种情况下,有人希望禁用Cookie
谢谢 您可以通过
$\u GET
跟踪用户
想象一下,在用户访问的每个页面上,您都会传递一个?user_id=XYZ123
,然后您就会实现一个非常类似的服务器标识。它有明显的缺点:
用户倾向于把第一方和第三方的饼干都放在一起,但它们来自不同的品种 第一方饼干一般都可以。当你访问Facebook时,Facebook会保存一个cookie来存储你与服务器的交互
没想到的是,在Facebook和eBay上都添加了cookie的广告公司会把你的cookie拿回来检查,啊,所以这家伙在eBay上找xyz,所以现在他在Facebook上,我要让他看abc,让他买等等。是的,这是真的。会话和普通cookie都是普通cookie。如果用户不接受cookie,则不能使用cookie启用的任何功能。这意味着几乎整个互联网都会为这个用户而崩溃,这就是为什么在这个时代几乎没有人会完全禁用cookies PHP有一个名为的内置机制,它自动重写所有链接以在查询参数中包含会话id。我不建议使用它,因为URL中的会话ID会打开一个全新的蠕虫罐
为了方便用户,我建议您测试用户是否启用了cookie(设置cookie,重定向到下一页,并在URL中设置cookie标志,查看是否有cookie返回),如果没有,请建议用户启用cookie。我认为您应该阅读会话参考手册
简而言之,如果您的服务器找不到会话id,则无法恢复会话。但您可以使用其他方法存储会话值。或者,您可以根据用户的客户端环境参数生成会话ID。+1获取此答案。胡思乱想。。不过,您认为trans-sid与SSL结合使用可以接受吗?(因为查询参数是ssl的)?@Ben问题并不是缺少ssl,而是用户不会理解URL包含会话,而是将包含trans sid的URL发送给朋友。单击链接将以用户身份登录该朋友。@Ben否。问题不在于可见性。如果有人能够拦截cookie和URL,cookie就和URL一样可见。问题在于共享URL、在浏览器历史记录中包含URL等等。是的,非常好的一点,我完全忽略了aspectI完全禁用了cookies。我在每个站点的基础上启用它们。还不错。