问题描述
我正在为我的网站使用托管人的单一共享托管。
我已经创建了一个MysqL数据库,并且需要在我的PHP api端点中访问用户名和密码。因此,我创建了一个具有/config.PHP
权限的-rw-r--r--
文件:
<?PHP
define("dbHost","localhost");
define("dbUsername","XXXXXXXXX");
define("dbPassword","XXXXXXXXX");
?>
这是存储此类信息的好方法吗?
解决方法
不创建配置文件就无法开始。但是您可以加密数据库的数据。 以下是在MySQL 8.0中加密数据的一些简单步骤。此过程依赖于密钥环文件。这不能满足合规性要求(请参阅下面的“密钥管理系统”),但这是很好的第一步。
- 检查您的MySQL版本。它应该是MySQL 5.7或8.0。
将插件预加载到您的my.cnf中:
early-plugin-load = keyring_file.so
执行以下查询:
-
INSTALL PLUGIN keyring_udf SONAME ‘keyring_udf.so’;
-
CREATE FUNCTION keyring_key_generate RETURNS INTEGER SONAME ‘keyring_udf.so’;
-
SELECT keyring_key_generate(‘alongpassword’,‘DSA’,256);
-
ALTER TABLE titles ENCRYPTION = ‘Y’;
每个文档警告: keyring_file和keyring_encrypted文件插件不旨在用作法规遵从性解决方案。 PCI,FIPS等安全性标准要求使用密钥管理系统来保护,管理和保护密钥库或硬件安全模块(HSM)中的加密密钥。
我希望本文对您有用。