我正在使用Yii-Framework,我想让它更安全:
具有敏感数据(如用户数据)的模型应使用自己的MySQL用户,该用户只拥有此表的权限。包含不敏感数据的模型可以使用对用户表没有权限的默认用户。
示例:
表“post”具有以下字段:“id”,“author”,“title”和“content”
表“users”包含以下字段:“id”,“username”,“pwhash”,“email”
实现起来非常简单,只需覆盖用户模型中的 getDbConnection(),并在配置文件中指定第二个db-connection,并具有访问用户表的权限。 / p>
我的问题是,当一个模型与user-table有关系时(例如post有链接到user-table的字段作者)Yii正在构建一个试图访问用户表的join-query较低的特权。
简单的解决方案是为post模型提供一个可以访问两个表的db-connection,但在这种情况下,安全性已经消失。 还有其他解决方案吗?