3

我想在 yii 中了解这一点:

Yii::app()->user->setState('key','value');

如果我有一个大小为 10 的数组,并且我将此数组设置为如下状态:

 Yii::app()->user->setState('data',$dataArray) 

我有另一个大小为 15000 的数组,我将此数组设置为如下状态:

Yii::app()->user->setState('data',$dataArray)

这个可以吗?

或者它会影响我的 Yii 项目的速度,即 setState 数据大小越大,yii 项目的速度就越慢?

设置密码等机密数据是否安全Yii::app()->user->setState('password',$password)

4

2 回答 2

5

由于安全问题变量,请勿将密码存储在 setState 中,但如果您需要,请使用一些加密。

您可以在这里看到 setState 函数正在使用会话 http://www.yiiframework.com/doc/api/1.1/CWebUser#setState-detail

您可以在会话中存储任意数量的数据。所有会话都存储在服务器上。会话的大小没有限制,但是 PHP 可以占用的内存有限制:http: //ca.php.net/manual/en/ini.core.php #ini.memory-limit

关于会话中的大数据的另一个非常有用的链接是

是否可以在 $_SESSION 中保存大量信息?

谢谢

于 2014-09-07T16:28:34.030 回答
0

请不要将用户个人信息(如密码或密钥等)保存在 setState 函数中,因为这是在用户身份验证后创建的会话中设置您的数据。所以请不要在 setState 函数中存储大数据,这会降低您的应用程序性能,无论您的会话存储在 DB 中还是 Cookie 中。

于 2015-09-16T10:03:12.520 回答