【发布时间】:2018-02-21 21:32:08
【问题描述】:
我正在详细学习 PHP 中的 Cookies 最重要的概念之一。
在学习Cookies的过程中,我了解到“cookie的值在发送cookie时会自动进行URLencoded,接收时会自动解码(为了防止URLencoding,请改用setrawcookie() )。"
上面的说法让我产生了很多疑问,如下:
- “发送 cookie 时自动对 cookie 的值进行 URL 编码,接收时自动解码”,实际发生了什么?
- 既然已经有一个函数 setcookie() 可用于设置 cookie 值,为什么还需要另一个函数,例如 setrawcookie()?
- URL编码和URL解码的过程是否不安全/有害/危险/慢/还有什么应该避免的吗?
- 使用
setrawcookie()比使用setcookie()有哪些好处/缺点? - 哪个是安全/更好/安全/可靠/等等。
setcookie()或setrawcookie()? - 不能像
$_COOKIE['cookie_variable'] = 'some_value'等其他变量一样设置cookie,而不是使用setcookie()或setrawcookie()?
如果有人能用完美、合适且易于理解的代码示例以及逐步清晰、清晰、易于理解的解释来清除我上面提到的所有疑问,那对我有很大帮助。
谢谢。
【问题讨论】:
-
在我看来这是一项艰巨的任务。怀疑任何人都会回答所有问题。
-
见
urlencode:php.net/manual/en/function.urlencode.php
标签: php cookies urlencode setcookie urldecode