CakePHP:在配置文件中加密密码
CakePHP: Encrypt password in config file
出于修订控制的原因,我不想在 database.php 中以纯文本形式存储我的数据库配置密码。
我想要这样的东西:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => simpleEncryptFunction('v3RyH4rD3NcRyPtEdPaS$wOrD'),
'database' => 'sample',
'prefix' => '',
//'encoding' => 'utf8',
);
private function simpleEncryptFunction($hardPassword == null) {
// Some pretty easy decrypt code. Not safe at all but I don't care.
// It just shouldn't be that easy for people who don't understand code.
}
ndm 的评论是正确的,您的方法 有缺陷。而是这样做:
- 创建一个
database.default.php
并将默认值放入其中 没有 密码并提交。
- 将
database.php
放入您的 .gitignore
,此文件应该永远不会 提交。
- 更改您的部署脚本以自动将
database.default.php
复制到 default.php
并将密码值替换为所需的值
- 对于开发,您的开发人员必须手动(或通过脚本)进行开发
同样的概念也可以应用于 bootstrap.php
。 check this plugin out,我们将它用于一个项目,以有条件地配置和加载多个环境。
出于修订控制的原因,我不想在 database.php 中以纯文本形式存储我的数据库配置密码。
我想要这样的东西:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => simpleEncryptFunction('v3RyH4rD3NcRyPtEdPaS$wOrD'),
'database' => 'sample',
'prefix' => '',
//'encoding' => 'utf8',
);
private function simpleEncryptFunction($hardPassword == null) {
// Some pretty easy decrypt code. Not safe at all but I don't care.
// It just shouldn't be that easy for people who don't understand code.
}
ndm 的评论是正确的,您的方法 有缺陷。而是这样做:
- 创建一个
database.default.php
并将默认值放入其中 没有 密码并提交。 - 将
database.php
放入您的.gitignore
,此文件应该永远不会 提交。 - 更改您的部署脚本以自动将
database.default.php
复制到default.php
并将密码值替换为所需的值 - 对于开发,您的开发人员必须手动(或通过脚本)进行开发
同样的概念也可以应用于 bootstrap.php
。 check this plugin out,我们将它用于一个项目,以有条件地配置和加载多个环境。