-1

我正在考虑一种保护 PHP 应用程序的方法。我想在数据库服务器端(MySQL)设置一个权限有限的用户,并在 PHP 应用程序中为所有数据库请求配置这个用户。

现在的问题是可以访问源文件的人(例如员工)可以使用配置的凭据直接连接到数据库(例如通过 phpmyadmin)。只能通过 PHP 应用程序更新数据库。

我想建立一个机制(触发器或任何可能在 mysql 端或 php 端或两者兼而有之)来检查对数据库的请求来自哪个客户端,从而忽略它。有可能这样做吗?还有其他方法可以考虑这个问题吗?

问候

4

2 回答 2

2

现在的问题是可以访问源文件的人(例如员工)可以使用配置的凭据直接连接到数据库(例如通过 phpmyadmin)。

这不是您可以完全防止的事情。如果有人可以访问源文件,那么无论如何你都会被搞砸。

通常用来创建一些保护的方法是

  • 以无法从服务器外部访问的方式配置 mySQL。请参阅限制来自本地主机的 MySQL 连接以提高安全性,它也应该在防火墙级别完成(与系统管理员交谈)

  • 让 Web 应用程序使用数据库用户帐户,该帐户在访问应用程序需要运行的任何表和功能方面受到限制。

于 2013-10-27T13:56:13.843 回答
1

如果您需要设置某个用户可以登录的域,您可以在授予该用户权限时指定:

授予您数据库上的所有权限。* TO 'username'@'192.168.10.12' IDENTIFIED by 'goodsecret';

这会将连接限制为 192.168.10.12,即使密码是从另一个位置提供的,它也不适合此授权命令。

于 2013-10-27T13:55:11.607 回答