Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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 - Fatal编程技术网

PHP用户权限检查

PHP用户权限检查,php,Php,只是想检查一下用户权限 您应该在会话中保留该权限吗 例如,选择用户信息并将权限id存储在会话中 或者在执行查询之前,每次都对数据库进行权限检查?我每次都从数据库获取数据,因此当我更改权限时,用户会立即得到更新,而不是下次登录 许多人会认为可能会有绩效处罚。但是,如果您像大多数PHP用户一样使用MySQL,结果将保存在RAM中的查询缓存中,并且几乎在任何时候都可用。我每次都从数据库中获取数据,因此当我更改权限时,用户会立即得到更新,而不是下次登录 许多人会认为可能会有绩效处罚。但是,如果您像大多数

只是想检查一下用户权限

您应该在会话中保留该权限吗

例如,选择用户信息并将权限id存储在会话中


或者在执行查询之前,每次都对数据库进行权限检查?

我每次都从数据库获取数据,因此当我更改权限时,用户会立即得到更新,而不是下次登录


许多人会认为可能会有绩效处罚。但是,如果您像大多数PHP用户一样使用MySQL,结果将保存在RAM中的查询缓存中,并且几乎在任何时候都可用。

我每次都从数据库中获取数据,因此当我更改权限时,用户会立即得到更新,而不是下次登录


许多人会认为可能会有绩效处罚。但是,如果您像大多数PHP用户一样使用MySQL,结果将保存在RAM中的查询缓存中,并且几乎可以在短时间内获得。

这取决于您网站的安全级别。如果您认为安全性对您的网站非常重要,并且希望在用户发生更改后立即对其进行安全更改,则必须使用数据库调用。然而,如果您的权限系统是这样设计的,它可能会变得非常缓慢和低效


如果安全性可以等待下一个会话,那么我认为最好在会话中保存权限,以避免性能损失。

这取决于网站的安全级别。如果您认为安全性对您的网站非常重要,并且希望在用户发生更改后立即对其进行安全更改,则必须使用数据库调用。然而,如果您的权限系统是这样设计的,它可能会变得非常缓慢和低效


如果安全性可以等待下一个会话,那么我认为最好在会话中保存权限,以避免性能损失。

这是memcache的一个很好的使用案例。您可以将用户权限存储在数据库中,将其下拉一次并缓存。后续页面加载将从memcache获取


当管理员更改用户权限时,该操作只会使删除缓存密钥无效。然后,下次从缓存中提取时,它将不在那里,您将知道如何再次访问数据库。

这是memcache的一个很好的使用案例。您可以将用户权限存储在数据库中,将其下拉一次并缓存。后续页面加载将从memcache获取


当管理员更改用户权限时,该操作只会使删除缓存密钥无效。然后,下次从缓存中提取数据时,它将不在那里,并且您将知道再次命中数据库。

在应用程序中,不可用的数据应该不可用。如何建立这个简单的过程取决于您自己,在很大程度上取决于您如何构建应用程序

例如,您允许使用在整个应用程序中共享的数据库凭据(可能在其配置值内)访问数据


假设您这样做了:如果您对此没有问题,那么为什么还要关心那么详细的案例呢?

在应用程序中,不可用的数据应该不可用。如何建立这个简单的过程取决于您自己,在很大程度上取决于您如何构建应用程序

例如,您允许使用在整个应用程序中共享的数据库凭据(可能在其配置值内)访问数据


假设你这样做了:如果你对此没有问题,为什么你会如此关注一个更详细的案例?

这是许多宗教辩论的主题。有人认为,为了提高性能,保存一个查询是件好事。。。我一般说来,每次都要确保并从数据库中获取权限,以防止权限在两者之间发生更改的危险。有人认为,为了提高性能,保存一个查询是件好事。。。我一般说来,每次都要确保从数据库中获取,以防止权限在两者之间发生更改的危险