php设置cookie流程:返回的信息携带信息,然后靠浏览器来执行写入到cookie,一般浏览器安全机制已经限制跨域写入;
如果你想伪造cookie,可以使用浏览器管理cookie的插件
thinkphpcookie设置domain不生效的原因如下。1、domain参数设置错误:在设置cookie的domain参数时,需要确保它的值是正确的域名格式,比如example.com。如果domain参数设置不正确,浏览器是不会接受该cookie的。
2、设置的域名与当前域名不匹配:如果您在本地开发环境中设置了cookie的domain参数,但是在实际生产环境中使用了不同的域名,那么cookie就不能跨域传递了。
3、浏览器设置阻止了cookie:有些浏览器可能会阻止cookie的设置,可以检查浏览器的cookie设置,确保它们没有被禁用。
PHP setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。必须在任何其他输出发送前对 cookie 进行赋值。如果成功,则该函数返回 true,否则返回 false。
setcookie(name, value, expire, path, domain, secure)
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果不需要这样,可以使用 setrawcookie() 代替。
程序1:
设置并发送 cookie:
1<?php
2$value = "my cookie value"
3// 发送一个简单的 cookie
4setcookie("TestCookie",$value)
5?>
01<html>
02<body>
03...
04...
05<?php
06$value = "my cookie value"
07// 发送一个 24 小时候过期的 cookie
08setcookie("TestCookie",$value, time()+3600*24)
09?>
10<html>
11<body>
程序2:
检索 cookie 值的不同方法:
01<html>
02<body>
03<?php
04// 输出个别的 cookie
05echo $_COOKIE["TestCookie"]
06echo "<br />"
07echo $HTTP_COOKIE_VARS["TestCookie"]
08echo "<br />"
09// 输出所有 cookie
10print_r($_COOKIE)
11?>
12</body>
13</html>
程序输出:
1my cookie value
2my cookie value
3Array ([TestCookie] =>my cookie value)
程序3:
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
1<?php
2// 把失效日期设置为一小时前
3setcookie ("TestCookie", "", time() - 3600)
4?>
程序4:
创建一个数组 cookie:
01<?php
02setcookie("cookie[three]","cookiethree")
03setcookie("cookie[two]","cookietwo")
04setcookie("cookie[one]","cookieone")
05// 输出 cookie (在重载页面后)
06if (isset($_COOKIE["cookie"]))
07{
08foreach ($_COOKIE["cookie"] as $name =>$value)
09{
10echo "$name : $value <br />"
11}
12}
13?>
程序输出:
1three : cookiethree
2two : cookietwo
3one : cookieone
程序5:
view sourceprint?
1/**
2 * 01.cookie设置
3 * */
4function ssetcookie($var, $value, $life=0) {
5global $_SGLOBAL, $_SC, $_SERVER
6setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'],$_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0)
7}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)