【发布时间】:2013-11-06 06:43:06
【问题描述】:
我正在考虑一种保护 PHP 应用程序的方法。我想在数据库服务器端(MySQL)设置一个权限有限的用户,并在 PHP 应用程序中为所有数据库请求配置这个用户。
现在的问题是可以访问源文件的人(例如员工)可以使用配置的凭据直接连接到数据库(例如通过 phpmyadmin)。只能通过 PHP 应用程序更新数据库。
我想建立一个机制(触发器或任何可能在 mysql 端或 php 端或两者兼而有之)来检查对数据库的请求来自哪个客户端,从而忽略它。有可能这样做吗?还有其他方法可以考虑这个问题吗?
问候
【问题讨论】:
-
如果您确保相关用户没有任何他们无法在网站本身上使用的权限,那么如果有人获得登录信息会有什么问题?
-
您可以限制对例如 SomeUser@localhost 的访问,从而阻止来自服务器外部的访问。但是,如果有人对服务器上的 PHPMyAdmin 具有合法访问权限,则 MySQL 无法判断作为 SomeUser@localhost 的访问是否合法。
-
@Evan 该应用程序有一个配置文件,其中包含用于连接数据库以进行 CRUD(登录名、密码)的凭据。有人可以读取此文件并使用该信息绕过应用程序并访问数据库。在这种情况下,我想否认任何修改。
-
谢谢迈克,我明白了。所以我想的是不可能的!