CRUD管理员:为什么不使用MySQL用户进行auth/acl而不是用户/组表?

在几个框架(symfony/Django)中,您有管理生成器,通常通过用户表(它将用户分配到指定的组表)来控制访问。CRUD管理员:为什么不使用MySQL用户进行auth/acl而不是用户/组表?

我很好奇,为什么不简单地使用MySQL的实际用户(选择/读/写访问已经出炉)呢?

回答:

另一个没有列出的好理由是MySQL用户名/密码以明文形式存储在配置文件中。您的代码中可能存在一个漏洞,允许用户读取文本文件,然后该文件可以立即访问黑客而不必破坏密码哈希。让您的数据库远程访问是严重的安全隐患,PCI-DSS禁止使用该数据库。

另一个很好的原因是,为了添加新帐户或更改密码,您的Web应用程序需要ROOT访问权限,这是您可以做的最糟糕的事情之一。在许多数据库(包括mysql)中,这使黑客很容易将sql注入漏洞转化为完全远程代码执行(如上传.php文件)。

回答:

我推测会有一个原因,许多ISP为您的mysql数据库提供只有一个用户帐户(没有额外的费用),因此,这样的说法是行不通的,因为每个人都有相同的特权。

这里的魔力是最低公分母和易于部署的尽可能宽和最低要求在服务器管理。

回答:

我想大多数人都有点吝啬,他们的应用程序的MySQL用户有能力为新的MySQL用户创建和授予权限,特别是在共享主机环境中。处理起来并不难,它将所有内容都保存在一个数据库表中,并且您可以拥有任何您想要的权限。

以上是 CRUD管理员:为什么不使用MySQL用户进行auth/acl而不是用户/组表? 的全部内容, 来源链接: utcz.com/qa/263734.html

回到顶部