【问题标题】:Block access to Mysql Table inside Database阻止访问数据库中的 Mysql 表
【发布时间】:2013-08-11 06:36:50
【问题描述】:

我有一个网站和一个带有 5 个表的 mysql 数据库。其中之一包括大约 500 封用户电子邮件。我正在外包新功能的开发,我想阻止开发人员访问包含用户电子邮件的表格。开发人员将有权访问整个数据库,因为他需要添加新表,但我想阻止他访问用户电子邮件表。

有什么办法吗?

【问题讨论】:

标签: php mysql database privileges


【解决方案1】:

MySQL 有GRANT/REVOKE 语句根据连接的用户限制对某些表的访问权限。

您可能必须在您的数据库中create a new user REVOKE 对您要为该用户锁定的表的不必要权限。

这里是 MySQL 支持的权限的完整列表:http://dev.mysql.com/doc/refman/5.0/en/grant.html#grant-privileges

【讨论】:

    【解决方案2】:

    使用REVOKE 该用户http://dev.mysql.com/doc/refman/5.0/en/revoke.html 的特权

    REVOKE ALL PRIVILEGES ON db.emails FROM 'user'@'host';
    

    【讨论】:

      【解决方案3】:

      我认为没有办法可以限制用户访问某些表,但可以限制他只使用插入和更新命令而不是选择命令

      CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'password';
      GRANT INSERT, UPDATE ON `secure_login`.* TO 'test_user'@'localhost';
      

      【讨论】:

        【解决方案4】:

        我的建议是将您的应用程序复制到开发环境中,用 loremipsum 替换电子邮件。这是解决此问题的专业(也是唯一可靠的)方法。它还允许缩放。

        否则,请克服它并确保您签订了严格的保密协议。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多