在不同类型的查询中使用不同的用户是否是一种好习惯?
时间:2020-03-06 14:51:59 来源:igfitidea点击:
我正在为正在工作的项目使用MySQL和PHP。我已经创建了单独的用户来执行不同的功能(一个用于运行选择查询,一个用于运行更新查询,等等)以提供额外的安全性。这样,我可以确定是否有人确实进行了注入攻击(这不太可能,因为我使用的是准备好的语句),无论他们能够做什么,都将限于最初打算运行的查询类型。这是一个好习惯还是值得一试?
解决方案
我个人认为这不值得打扰,因为编码,测试和部署比较棘手。确保软件不受SQL注入的影响。
除了扩展逻辑之外,我们还将在该区域中具有不同的连接和必要的开销。
恕我直言,明智的做法是不要在root用户的web应用程序中执行所有查询,如果数据太热,请确保指定的用户没有DROP,DELETE等特权。我们可以在应用程序中必要时实施软删除。
最后但并非最不重要的一点,请确保清理所有GPC,并确保在查询中正确引用/转义文件。使用准备好的语句可能是一回事,但最终它可以像使用mysql_real_escape_string()或者DBAL / ORM提供的任何引用方法一样简单。