【发布时间】:2013-08-11 06:36:50
【问题描述】:
我有一个网站和一个带有 5 个表的 mysql 数据库。其中之一包括大约 500 封用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表格。开发人员将有权访问整个数据库,因为他需要添加新表,但我想阻止他访问用户电子邮件表。
有什么办法吗?
【问题讨论】:
标签: php mysql database privileges
我有一个网站和一个带有 5 个表的 mysql 数据库。其中之一包括大约 500 封用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表格。开发人员将有权访问整个数据库,因为他需要添加新表,但我想阻止他访问用户电子邮件表。
有什么办法吗?
【问题讨论】:
标签: php mysql database privileges
MySQL 有GRANT/REVOKE 语句根据连接的用户限制对某些表的访问权限。
您可能必须在您的数据库中create a new user REVOKE 对您要为该用户锁定的表的不必要权限。
这里是 MySQL 支持的权限的完整列表:http://dev.mysql.com/doc/refman/5.0/en/grant.html#grant-privileges
【讨论】:
使用REVOKE 该用户http://dev.mysql.com/doc/refman/5.0/en/revoke.html 的特权
REVOKE ALL PRIVILEGES ON db.emails FROM 'user'@'host';
【讨论】:
我认为没有办法可以限制用户访问某些表,但可以限制他只使用插入和更新命令而不是选择命令
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'password';
GRANT INSERT, UPDATE ON `secure_login`.* TO 'test_user'@'localhost';
【讨论】:
我的建议是将您的应用程序复制到开发环境中,用 loremipsum 替换电子邮件。这是解决此问题的专业(也是唯一可靠的)方法。它还允许缩放。
否则,请克服它并确保您签订了严格的保密协议。
【讨论】: