Php 使用会话变量进行身份验证的替代方法

Php 使用会话变量进行身份验证的替代方法,php,session,authentication,Php,Session,Authentication,我对PHP还是新手,但我读到的很多东西都建议使用会话变量来检查用户是否登录。IE我将添加一个includes.php文件,该文件将检查会话['login']==true,但鉴于会话变量只是cookie,有人可以轻松地将其设置为正确的?检查用户是否已通过身份验证的另一种方法是什么?会话与cookie有很大不同。所有数据都以会话文件的形式存储在服务器上,cookie本身只存储浏览器标识符,以便与服务器上的正确会话文件相匹配。不管怎样,你都需要cookies,所以我相信,使用会话检查经过身份验证的用户

我对PHP还是新手,但我读到的很多东西都建议使用会话变量来检查用户是否登录。IE我将添加一个includes.php文件,该文件将检查会话['login']==true,但鉴于会话变量只是cookie,有人可以轻松地将其设置为正确的?检查用户是否已通过身份验证的另一种方法是什么?

会话与cookie有很大不同。所有数据都以会话文件的形式存储在服务器上,cookie本身只存储浏览器标识符,以便与服务器上的正确会话文件相匹配。不管怎样,你都需要cookies,所以我相信,使用会话检查经过身份验证的用户是安全的,这是非常安全的。会话与cookies有很大不同。所有数据都以会话文件的形式存储在服务器上,cookie本身只存储浏览器标识符,以便与服务器上的正确会话文件相匹配。不管怎样,你都需要cookies,所以我认为,使用会话检查经过身份验证的用户是安全的,这是非常安全的。

会话变量不仅仅是cookies。客户端浏览器接收到一个cookie,该cookie将其附加到服务器上的会话,但只有服务器可以从
$\u会话
设置和读取变量

虽然客户机可以通过cookie将他们想要的任何信息传递给服务器,但是会话ID很难(尽管并非不可能)猜测,从而很难劫持另一个用户的会话


防止会话被劫持的常见方法是在
$\u session
中存储用户IP地址、用户代理字符串或其他可识别字符串的指纹。这也可能是您生成并发送到客户端的随机令牌字符串,同时还存储在
$\u会话中。在下一个表单帖子中,您希望令牌以隐藏输入的形式发送,并将其与存储在服务器上的令牌进行匹配。

会话变量不仅仅是cookie。客户端浏览器接收到一个cookie,该cookie将其附加到服务器上的会话,但只有服务器可以从
$\u会话
设置和读取变量

虽然客户机可以通过cookie将他们想要的任何信息传递给服务器,但是会话ID很难(尽管并非不可能)猜测,从而很难劫持另一个用户的会话

防止会话被劫持的常见方法是在
$\u session
中存储用户IP地址、用户代理字符串或其他可识别字符串的指纹。这也可能是您生成并发送到客户端的随机令牌字符串,同时还存储在
$\u会话中。在下一个表单帖子中,您希望令牌以隐藏输入的形式发送,并将其与存储在服务器上的令牌进行匹配

但考虑到会话变量 只是饼干,有人很容易 让他们自己纠正吗

错了!会话cookie将只包含会话,会话本身及其值将驻留在服务器上。cookie将具有的令牌值将用于定位会话

还有什么办法 检查用户是否已被删除 认证

将身份验证存储在数据库中

但考虑到会话变量 只是饼干,有人很容易 让他们自己纠正吗

错了!会话cookie将只包含会话,会话本身及其值将驻留在服务器上。cookie将具有的令牌值将用于定位会话

还有什么办法 检查用户是否已被删除 认证


将身份验证存储在数据库中。

如果通过HTTPS进行身份验证,cookie将受到保护。此外,当您将正在处理的会话设置为具有随机会话UUID的cookie,该cookie将转换为服务器上的键值存储时,客户端不能仅设置“login=true”并获得访问权限

如果通过HTTPS进行身份验证,cookie将受到保护。此外,当您将正在处理的会话设置为具有随机会话UUID的cookie,该cookie将转换为服务器上的键值存储时,客户端不能仅设置“login=true”并获得访问权限

哈哈,同样的开场白,比我早12秒。@Michael haha是的,我刚刚编辑并更改了开场白,以减少混淆:)哈哈,同样的开场白,比我早12秒。@Michael haha是的,我刚刚编辑并更改了开场白,以减少混淆:)HTTPS只保护通过登录表单(或任何其他表单)发送的数据。它不保护用户提供其会话标识符的方式。HTTPS仅保护通过登录表单(或任何其他表单)发送的数据。它不保护用户提供其会话标识符的方式。请阅读以下内容:阅读以下内容: