【问题标题】:Can a mysql user be restricted to a max number of rows per select query?mysql 用户可以限制每个选择查询的最大行数吗?
【发布时间】:2016-06-08 20:48:18
【问题描述】:

我发现可以仅授予用户访问数据库中特定表的权限。难题的下一部分是限制选择查询的范围。

如果我的前端服务器被能够编写脚本的人入侵,他们可能会尝试使用来自服务器的 mysql 凭据来转储数据库。

如果一切都仅限于通过 mysql 权限选择、更新和插入查询,则假定的恶意用户仍然可以在 mysql 用户有权访问的表上选择 *。也许我过于偏执,但我想知道是否也可以采取任何措施来限制这种情况。

这里的假设是,如果服务器受到攻击,可以通过服务器上的脚本使用 mysql 用户来获取数据库中所有内容的副本。我正在努力寻找保护我(和我用户的数据)的选项。

根据设计,将使用此 mysql 用户的前端应用程序将永远不需要返回超过 20 行(主要是由于硬编码。因此我很高兴限制 mysql 用户从选择中获取超过 20 行查询。

这可以使用该 mysql 用户的 mysql 权限来完成吗?

【问题讨论】:

    标签: mysql database permissions


    【解决方案1】:

    您可以将view 创建为select ... limit 20,从表中删除选择权限并仅授予视图权限。

    【讨论】:

    • 这是一个非常好的主意。这样,对表的完全访问权就不存在了,只有有限的块,无论来自前端的查询如何。谢谢!
    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-29
    • 2021-05-15
    • 2013-05-18
    • 2019-07-21
    相关资源
    最近更新 更多