华企号 后端开发 PHP 和 Cookie

PHP 和 Cookie

PHP Cookie

Cookie是存储在客户端计算机上的文本文件,它们保留用于跟踪目的。PHP透明地支持HTTP cookie。
识别回归用户涉及三个步骤
  • 服务器脚本将一组cookie发送到浏览器。例如姓名,年龄或身份证号码等。
  • 浏览器将此信息存储在本地计算机上以供将来使用
  • 当下次浏览器向Web服务器发送任何请求时,它会将这些cookie信息发送到服务器,服务器使用该信息来识别用户。
本章将教您如何设置cookie,如何访问它们以及如何删除它们。

用PHP设置Cookies

PHP提供了 setcookie()函数来设置cookie。此函数最多需要六个参数,应在<html>标记之前调用。对于设置每一个cookie,必须单独调用此函数。
1
setcookie(name, value, expire, path, domain, security);
这是所有参数的细节
  • name – 设置cookie的名称。
  • value – 设置命名变量的值,并且是您实际要存储的内容。
  • expire – 这指定自1970年1月1日格林尼治标准时间00:00:00以来的未来时间(以秒为单位)。在此之后,cookie将无法访问。如果未设置此参数,则在Web浏览器关闭时cookie将自动过期。
  • path – 指定cookie有效的目录。单个正斜杠字符允许cookie对所有目录有效。
  • domain – 这可用于在非常大的域中指定域名,并且必须至少包含两个有效期。所有cookie仅对创建它们的主机和域有效。
  • security – 可以设置为1以指定cookie应仅通过使用HTTPS的安全传输发送,否则设置为0,这意味着cookie可以通过常规HTTP发送。
以下示例将创建两个cookie 名称和年龄,这些cookie将在一小时后过期。
1
2
3
4
5
6
7
8
9
10
setcookie("name""John Watkin", time()+3600, "/","", 0);
setcookie("age""36", time()+3600, "/""",  0);
<html>
<head>
<title>用PHP设置Cookies</title>
</head>
<body>
echo "设置 Cookies"
</body>
</html>

打开浏览器访问脚本,然后按F12打开开发者模式,选择Network(网络)选项卡,选择Headers,可以看到如下图所示:

PHP 和 Cookie插图

 

用PHP删除Cookie

正式地说,要删除一个cookie,你应该只使用name参数调用setcookie()[也就是说想删除那个name,把他设置成空],但这并不总是有效,不应该依赖。最安全的做法是设置一个已经过期的日期
1
2
3
4
5
6
7
8
9
/* 设置过去时间为当前时间的之前的60秒 */
setcookie( "name""", time()- 60, "/","", 0);
setcookie( "age""", time()- 60, "/","", 0);
<html><head>
<title>用PHP删除cookie</title>
</head><body>
echo "删除cookie"
</body>
</html>

作者: 华企网通王鹏程序员

我是程序员王鹏,热爱互联网软件开发和设计,专注于大数据、数据分析、数据库、php、java、python、scala、k8s、docker等知识总结。 我的座右铭:"业精于勤荒于嬉,行成于思毁于随"
上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部