0

PHP 会话和 Cookie 的新手。

我有一个旧的登录脚本,我正在尝试升级它以使用新的跨子域功能。都是用$_SESSION而不是写的$_COOKIE。(根据我的准备,任何设置为 SESSION var 的内容都不会跨域传递,即使在我为整个域和根目录设置了 cookie 参数之后也是如此)。

如果我执行 Search and Replace for$_SESSION并将其更改为$_COOKIE,我是否必须进行大量语法更改,或者大部分操作方式相同?

4

2 回答 2

1

这通常是一个非常糟糕的主意。对所有会话相关数据使用 cookie 意味着您可能会发布内部数据。因此,如果您有一个 cookie isAdmin=false,那么您可以让攻击者安静地轻松获得管理员权限。此外,每个请求都会传输所有 Cookie,这也会导致更多流量。

另请注意,cookie 是使用函数 setcookie() 设置的。$_COOKIE 通常是只读的。

于 2013-07-08T16:52:34.007 回答
0

$_SESSION可用于读取和写入会话数据。$_COOKIE用于阅读。

设置 cookie 的一个潜在问题是必须setcookie在任何浏览器输出之前设置它们……如果在页面呈现期间或之后用于写入会话数据,这可能会破坏您的代码$_SESSION(因为可以随时设置会话数据)。

跨域会话将是一个安全漏洞,从它的声音来看,处理用户凭据时的跨域 cookie。

于 2013-07-08T16:50:36.543 回答