禁用cookie的php setcookie行为

安东尼朱利亚诺

客户端禁用cookie时,谁能确认PHP的setcookie()函数的行为?根据文档:

“如果在调用此函数之前存在输出,则setcookie()将失败并返回FALSE。如果setcookie()成功运行,它将返回TRUE。这并不表示用户是否接受了cookie。”

我不确定“成功运行”的确切含义是什么,但这使我相信实现不关心客户端是否接受cookie,并且我们不必担心与PHP相关的错误/警告。实际上是否设置了cookie。是对的吗?

提前致谢

马克·B

Cookies通过http标头发送。标头可以总是被发送。是否接受/忽略它们无关紧要-您可以发送所需的任何标头。

判断客户端是否接受Cookie的唯一方法是客户端是否根据其NEXT请求将Cookie发送回服务器。

唯一setcookie()失败的方法是如果输出已经开始。这会导致PHP“已发送标题”警告。

例如,正常的HTTP服务器->客户端响应如下所示:

HTTP/1.1 200 OK
Content-type: text/html
Cookie: ...cookie data here ...

<html><body>Hi mom!</body></html>

但是,如果在调用setcookie之前先进行输出,则最终会得到如下结果:

HTTP/1.1 200 OK
Content-type: text/html

<html><body>Hi mom!</body></html>
Cookie: ... cookie data here ...

这是行不通的。标头只有在响应的标头块中时才是标头。如果它们出现在正文中,则它们不是标题,而是内容的一部分。这就是为什么PHP发出“标题已发送”并且不发送cookie的原因。不能-火车已经离开车站了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

setcookie和$ _COOKIE在php中的区别

来自分类Dev

即使禁用浏览器cookie,setcookie()始终返回true

来自分类Dev

为什么我无法使用PHP的setcookie()设置cookie名称?

来自分类Dev

js-cookie 的编码值与 php setcookie 不同

来自分类Dev

Setcookie没有创建cookie

来自分类Dev

PHP脚本中的setCookie

来自分类Dev

PHP – setcookie()无法正常工作

来自分类Dev

PHP setcookie从未设置

来自分类Dev

PHP setcookie()无法正常工作

来自分类Dev

PHP中的AWS Cloudfront SetCookie

来自分类Dev

PHP setcookie从未设置

来自分类Dev

PHP setcookie无法正常工作

来自分类Dev

setcookie并询问投票系统的cookie值

来自分类Dev

使用 setcookie() 使 cookie 变量过期与使用 $_COOKIE = array();

来自分类Dev

PHP:setcookie()在2038年之后到期

来自分类Dev

setcookie php非常慢或发生了什么?

来自分类Dev

setcookie php非常慢或发生了什么?

来自分类Dev

当httponly为true时,cookie阻止setcookie()删除

来自分类Dev

setcookie 有效但不保存在 $_COOKIE 中

来自分类Dev

重新加载 Puppeteer => page.setCookie(...cookies) 后 Cookie 消失了

来自分类Dev

为什么用`setcookie` 设置cookie 以点开头?

来自分类Dev

禁用Javascript行为

来自分类Dev

禁用表单默认行为

来自分类Dev

MAPQuest禁用DoubleClick行为

来自分类Dev

我的Cookie行为异常。

来自分类Dev

Django 中的 Cookie 行为

来自分类Dev

1年的PHP setcookie将不起作用

来自分类Dev

PHP setcookie()函数在Wordpress模板文件中不起作用

来自分类Dev

PHP的setcookie()函数不起作用。怎么了?