【发布时间】:2012-07-02 11:25:17
【问题描述】:
大约几周前,我在创建登录页面时了解到$_SESSION。我可以成功登录并将其与变量一起使用。目前我正在尝试了解$_SESSION 和$_COOKIE。如果我错了,请纠正我,我可以在登录和移动页面时使用$_SESSION。使用$_COOKIE,用于记住我上次访问的时间和偏好。
涉及 cookie 的另一件事是,当网站使用广告(例如:Google AdSense)时,它们会使用 cookie 来跟踪访问者何时点击广告,对吧?
我可以同时使用 ($_SESSION & $_COOKIE)?我在某处读到您可以将 session_id 存储为 cookie 的值。
另外,我阅读了有关安全性的信息,让我发现:What do I need to store in the php session when user logged in?。当用户返回网站时,使用session_regenerate_id 是否有用?
还有这个:How to store a cookie with php 涉及uniqid。
对于那些想知道登录的人,我使用电子邮件和密码。这样用户就可以更改他们的用户名。
我期待从任何愿意分享这两个方面知识的人那里了解更多关于这两个方面的信息。如果我问的问题太多,你可以回答你有更多经验的问题。
如果您需要更多信息,请尽管询问,因为我可能忘记包含某些内容。
谢谢。
找到这个:What risks should I be aware of before allowing advertisements being placed on my website?
【问题讨论】:
-
Session是服务器端存储,cookie-客户端。这是主要区别
-
验证用户身份后,您应该重新生成会话 ID。如果人们知道会话 ID,则可以劫持会话,然后访问他们不应该拥有的信息。通过在身份验证后重新生成,您在很大程度上将其带走。此外,作为标准做法,如果您不了解全部含义,请不要将会话 ID 放在 URL 中。
-
@phpmeh:“在对用户进行身份验证后,您应该重新生成会话 ID”——没有理由这样做。 “如果人们知道会话 ID,他们就可以劫持会话”——如果他们可以获得会话 ID——那么重新生成不会添加任何内容