Php “$\u会话”中密钥的命名是否会影响安全性?
我想知道钥匙的名字对安全性是否重要。唯一名称是否比通用名称更安全 如果我将用户的电子邮件存储在Php “$\u会话”中密钥的命名是否会影响安全性?,php,security,session,Php,Security,Session,我想知道钥匙的名字对安全性是否重要。唯一名称是否比通用名称更安全 如果我将用户的电子邮件存储在 $\u SESSION['email']如果像$\u SESSION['em\u 10lettersID']那样每个用户都是唯一的,那会更好吗。不过,一般来说,将电子邮件存储在会话中可能并不安全。 您谈论的是会话变量的名称,而不是会话 不,没关系。任何人都可以打开浏览器,查看调试器中的资源,并查看Cookie中存储的内容。如果存储的值为“joe@example.com“ 一般来说,在会话中存储电子邮
$\u SESSION['email']
如果像$\u SESSION['em\u 10lettersID']
那样每个用户都是唯一的,那会更好吗。不过,一般来说,将电子邮件存储在会话中可能并不安全。- 您谈论的是会话变量的名称,而不是会话
- 不,没关系。任何人都可以打开浏览器,查看调试器中的资源,并查看Cookie中存储的内容。如果存储的值为“joe@example.com“
- 您谈论的是会话变量的名称,而不是会话
- 不,没关系。任何人都可以打开浏览器,查看调试器中的资源,并查看Cookie中存储的内容。如果存储的值为“joe@example.com“
希望能有所帮助。让我们澄清任何误解 会话是服务器端存储。仅此而已。通过在包含唯一令牌的设备上存储cookie,此存储与设备(“用户”(如果愿意)相关联。每个请求,设备都会将此cookie(以及令牌)发送到服务器。然后,服务器识别该令牌并检查该令牌是否存在现有会话。它从存储器加载会话(默认情况下,该存储器是一个文件),其内容存储在
$\u session
变量中
默认情况下,cookie的名称是PHPSESSID,令牌是随机生成的哈希。您可以在Chrome开发者控制台的资源选项卡下检查此cookie
现在,由于会话及其包含的任何内容都不会向用户公开(请记住:它是在服务器上持久化的),因此存储在其中的内容并不重要;客户不可能知道
此规则的例外情况是当客户端获得对服务器的访问权限时。然而,在这种情况下,您需要担心更大的问题
还有一点需要注意的是,$\u会话
对于每个客户端/用户都是唯一的,它们不能影响彼此的$\u会话
请注意,这种解释有些简化
现在,您永远不应该在COOKIE中存储敏感信息(
$\u COOKIE
)。它们保存在客户端/用户上 让我们澄清任何误解
会话是服务器端存储。仅此而已。通过在包含唯一令牌的设备上存储cookie,此存储与设备(“用户”(如果愿意)相关联。每个请求,设备都会将此cookie(以及令牌)发送到服务器。然后,服务器识别该令牌并检查该令牌是否存在现有会话。它从存储器加载会话(默认情况下,该存储器是一个文件),其内容存储在$\u session
变量中
默认情况下,cookie的名称是PHPSESSID,令牌是随机生成的哈希。您可以在Chrome开发者控制台的资源选项卡下检查此cookie
现在,由于会话及其包含的任何内容都不会向用户公开(请记住:它是在服务器上持久化的),因此存储在其中的内容并不重要;客户不可能知道
此规则的例外情况是当客户端获得对服务器的访问权限时。然而,在这种情况下,您需要担心更大的问题
还有一点需要注意的是,$\u会话
对于每个客户端/用户都是唯一的,它们不能影响彼此的$\u会话
请注意,这种解释有些简化
现在,您永远不应该在COOKIE中存储敏感信息(
$\u COOKIE
)。它们保存在客户端/用户上 “一般来说,在会话中存储电子邮件地址或任何其他敏感信息不是一个好主意。”你是说cookie?是的,cookies也是。但是OP并没有询问cookie。“一般来说,在会话中存储电子邮件地址或任何其他敏感信息都不是一个好主意。”你是说cookie?是的,cookie也是。但是OP不是问饼干的事。