默认情况下,您有 RDS 数据库的用户名和密码。在生产网站(例如 php 文件中)上使用这些凭据会很危险吗?
或者是否需要创建一个对数据库控制较少的用户(例如,只能读取)?但是我在亚马逊的控制台上找不到添加用户的地方。
答案1
每个生产站点都需要拥有其使用的相应数据库的凭证。然而,这些文件不应由网络服务器直接提供。
这意味着,例如,.php 文件不应仅以纯文本形式传递,而应进行解释。您可以在相应服务器的 appache 配置中设置这一点,如果您可以看到将echo phpinfo();
.php 文件放入浏览器中并将其加载的结果,那么您可能已经这样做了。
这意味着,当您将这些凭据输入到 php 文件中时,可以这样说:
$db_user = <user>
$db_pass = <pass>
它不适用于“外部”世界。但是您的应用程序可以使用它们来连接到适当的数据库服务器。
答案2
听起来您是在问将主要 RDS 凭据放入 PHP 应用程序中是否是最佳做法。我会说是的,如果您的 PHP 应用程序无论如何都需要完全控制数据库,那么这是可以的。但是,如果您想遵循“最小特权原则”,并且如果您的 PHP 应用程序只需要有限的权限(例如只读),那么为此目的创建额外的 MySQL 用户将改善您的安全状况。