代码之家  ›  专栏  ›  技术社区  ›  Steven Oxley

对于不同类型的查询有不同的用户是一个好的实践吗?

  •  3
  • Steven Oxley  · 技术社区  · 16 年前

    我正在使用MySQL和PHP进行我正在工作的项目。我创建了不同的用户来执行不同的功能(一个用于运行选择查询,一个用于运行更新查询等),以提供额外的安全层。通过这种方式,我认为如果有人确实成功地执行了注入攻击(这不太可能,因为我使用的是准备好的语句),那么他们所能做的一切都将局限于最初打算运行的查询类型。这是一个好的做法还是不值得麻烦?

    2 回复  |  直到 16 年前
        1
  •  6
  •   Till    16 年前

    除了扩展逻辑之外,您还将拥有不同的连接和该领域的基本开销。

    imho最好不要在webapp中使用根用户进行所有查询,如果数据是这样的话。 热的 ,然后确保指定的用户没有删除等特权。如果应用程序中需要软删除,可以实现软删除。

    最后但并非最不重要的是,确保清理所有GPC,并确保在查询中正确引用/转义文件。使用准备好的语句可能是一回事,但归根结底,它可以像使用 mysql_real_escape_string() 或者任何引用DBAL/ORM提供的方法。

        2
  •  1
  •   cruizer    16 年前

    我个人认为这不值得麻烦,因为它在编码、测试和部署方面更为棘手。确保您的软件不受SQL注入的影响。