2016-06-08 157 views
0

我发现可以授予用户对数据库中特定表的访问权限。难题的下一部分是限制选择查询的范围。MySQL的用户可以限制每个选择查询的最大行数吗?

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

如果一切仅限于通过mysql特权选择,更新和插入查询,那么所谓的恶意用户仍然可以在mysql用户有权访问的表上选择*。也许我太偏执了,但我想知道是否还可以做任何事情来限制这一点。

这里的假设是,如果服务器遭到破坏,可以通过服务器上的脚本使用mysql用户来获取数据库中所有内容的副本。我试图找到保护我(和我的用户数据)的选项。

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

可以这样使用,MySQL的用户mysql的权限来完成?

回答

1

您可以创建viewselect ... limit 20,从表中删除SELECT权限,并授予它仅用于视图来代替。

+0

这是这是一个非常好的主意,通过这种方式完全访问表格不在那里,只有lim不管来自前端的查询是多少。谢谢! – Tiago