如何在用于连接mysql数据库的Perl脚本中加密或隐藏密码

Gor*_*don 6 mysql perl

我想知道存储用户名和密码以连接到mysql数据库的最佳方法是什么?

Ash*_*ley 13

一种简单安全的方法 - 如果你做对了 - 就是配置文件.DBI/DBD MySQL连接字符串看起来像 -

dbi:mysql:my_dbname;mysql_read_default_file=/NON-WEB/path/to/.my.cnf
Run Code Online (Sandbox Code Playgroud)

- 并且您不会将任何用户或密码传递给DBI连接调用.

.my.cnf文件将具有密码.保持这种安全的方法包括 -

  • 文件只能由webuser读取.
  • 文件位于Web根目录之外; 访问URL无法访问它.
  • 配置文件包含最小的连接,例如,它可能不需要用户名.
  • 确保应用程序中没有可能允许浏览文件系统的漏洞.
  • webuser的mysql帐户具有有限的权限:没有授权,没有创建|删除表等等.