PHP:关闭浏览器后我的cookie不会被删除

时间:2014-01-08 10:41:17

标签: php session cookies session-cookies

我的PHP代码有些困难。我需要修改我同事的代码部分,我不明白发生了什么。

在登录页面中,他检查了登录名和密码,如果没问题,则启动$ _SESSION,用户可以访问该应用程序。

问题是,如果用户没有点击deconnexion链接并退出页面(即使他关闭浏览器或关闭电脑),他总是连接。我查了一下,还有一个饼干。

我的第一个问题是为什么这个cookie存在,因为代码中没有setCookie()。

这是关于我的php.ini会话的部分:

session.save_handler = files
session.save_path = "N;/path"
session.save_path = "/var/lib/php/session"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly = 
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

所以我需要知道当用户关闭浏览器时如何删除cookie。 (我无法定义到期值,因为应用程序使用了一些处理,这些处理可能需要很长时间才能得到结果)。

你能帮助我吗?

由于

安琪莉

1 个答案:

答案 0 :(得分:0)

您不能只删除任何cookie,因为您不能保证实际存在这样的文件 - 浏览器和Web服务器之间关于cookie的合同是数据将在符合条件的请求中显示。

您需要将要删除的coockie的到期日期设置为过去的时间。然后浏览器应该自动删除它。