gpt4 book ai didi

php - session 是否可由客户端/用户修改?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:00 24 4
gpt4 key购买 nike

在我的 PHP Web 应用程序中,我使用 session 来存储用户数据。例如,如果用户登录,则会生成 User 类的实例并将其存储在 Session 中。

我有与每个用户关联的访问级别,以确定他们的权限。

通过以下方式将用户存储在 session 中:

$_SESSION['currentUser'] = new User($_POST['username']);

例如:

if($_SESSION['currentUser'] -> getAccessLevel() == 1)
{
//allow administration functions
}

其中 getAccessLevel() 只是 User 类中的一个 get 方法,它返回 _accesslevel 成员变量。

这安全吗?或者客户端是否可以通过某种 session 操作以某种方式修改其访问级别?

最佳答案

不,客户不能修改他们的访问级别。唯一存储在客户端的是 session key ,它通过 cookie 或 GET 参数传播。 session key 与相应的 session 记录相关联,该 session 记录是存储在服务器端(通常在临时目录中)的文件,其中包含“punch”。您不希望的是 session key 泄露给第三方:

A leaked session id enables the third party to access all resources which are associated with a specific id.

看看这个:http://www.php.net/manual/en/session.security.php

关于php - session 是否可由客户端/用户修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2925763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com