如何验证网站中的会话
Posted
技术标签:
【中文标题】如何验证网站中的会话【英文标题】:How to authenticate a session in a website 【发布时间】:2013-01-01 16:51:55 【问题描述】:当用户登录网站时,哪种方法最适合验证会话?例如,在 $_SESSION 中设置一个已检查的变量,如果设置为用户登录,是否有效?我正在阅读this tutorial,他们有if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username']))
,如果返回true,则向用户显示页面内容。是这样的吗?
【问题讨论】:
我认为***的更好问题 How to create sessions using php? 的可能重复项,另请参阅 ***.com/questions/1535697/… 【参考方案1】:是的,这是一般的想法。
在其他地方(在登录页面上)将$_SESSION['LoggedIn']
设置为TRUE
后,您将检查$_SESSION['LoggedIn']
是否为TRUE
,如果是,则显示内容
【讨论】:
有'LoggedIn'这个值可以吗,不应该是密码的哈希值之类的吗?或者这不是必要的,因为会话驻留在服务器上,因此它们很难被篡改? 您在登录时验证用户。然后将会话设置为 TRUE。会话(理论上)很难篡改。【参考方案2】:我同意@relentless。但是,如果您将信息存储在数据库中,我更喜欢。
假设您有一个名为 user 的表,其中包含一个 tinyint 列 logged_in。每当用户成功登录时,将列值更新为 1。注销后将其更改为 0。
【讨论】:
登录是会话的属性,而不是用户的属性。 哦,我的错。我以某种方式将它与用户联系起来。【参考方案3】:是的,我建议您在http://php.net/manual/en/reserved.variables.php 中了解一下 PHP 和一些预定义变量,例如 $_POST 和 $_SESSION。还有诸如 isset() 和 empty() 之类的函数,也许还有一些 html 表单。
【讨论】:
以上是关于如何验证网站中的会话的主要内容,如果未能解决你的问题,请参考以下文章