Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否通过会话或数据库检查用户组级别?_Php_Security_Authentication_Login - Fatal编程技术网

Php 是否通过会话或数据库检查用户组级别?

Php 是否通过会话或数据库检查用户组级别?,php,security,authentication,login,Php,Security,Authentication,Login,客户或管理员登录后,其成员id将存储在会话中($\u会话['member\u id']) 有许多组级别,在会话中这样存储是否更好: $_SESSION['group_id'] = 2; 还是从数据库中检查组级别 SELECT group_id FROM users where member_id = . $_SESSION['member_id']; 我已经为前端编写了用户登录类,在后端使用相同的类没有错吗 两者之间的主要区别在于,在第一种情况下,对用户组的更改可能仅在下一个会话中可见(例

客户或管理员登录后,其成员id将存储在会话中(
$\u会话['member\u id']

有许多组级别,在会话中这样存储是否更好:

$_SESSION['group_id'] = 2;
还是从数据库中检查组级别

SELECT group_id FROM users where member_id = .  $_SESSION['member_id'];

我已经为前端编写了用户登录类,在后端使用相同的类没有错吗

两者之间的主要区别在于,在第一种情况下,对用户组的更改可能仅在下一个会话中可见(例如,用户已登录,管理员更改组),而在另一种情况下,更改将立即生效。

如果将成员id存储在会话变量中,为什么不使用组id?会话变量允许在请求之间持久保存数据,这似乎是您所需要的

尽管有些人建议将会话数据保持在最低限度,即:

 $_SESSION['uid'] = 5;
 $_SESSION['logged_on'] = true;

我不认为GROPPEID是会话VARS的坏用法,因为在您的例子中,MySyID依赖于GypHyID来做任何事情。