目前我的数据库用户及其密码很容易猜到,例如
数据库用户:dbadmin
数据库pwd:super + companyname
如何生成安全的数据库密码?使用md5或sha1 ??
保护我的数据库需要注意哪些事项?
我正在使用php,谢谢
答案 0 :(得分:4)
如果您正在寻找的只是一个安全的密码生成器,那么有许多工具可用于创建强密码。 Keepass是我使用的,但您也可以查看pwgen,apg,passgen或其他。
为了确保数据库的安全,您还需要考虑在脚本中使用用户名/密码组合的位置。我经常使用的一种技术是将凭证放在一个单独的文件中,并将它们导入到其他所需的地方。这样,您就可以通过Web服务器和文件系统安全设置对该文件进行严格的访问规则。
安全性是一种分层方法,您采取的预防措施越多,您的服务器就越能抵抗恶意活动。
答案 1 :(得分:3)
使用某种模式创建复杂的密码,但也可以记住。
E.g。想想一个愚蠢的句子并拿出每个单词的第一个字母。
“16只蝴蝶吸取了稻草,看看哪5只应该成为毛毛虫。”
形成密码“16Bdstsw5sbCf”。
这是13个字符长,包含3个数字和一些大写字母。这应该是非常强大的,并且比仅仅随机字符串更容易记住。
为了获得更好的力量,也要在那里加一些标点符号。
答案 2 :(得分:0)
只需粘贴键盘即可制作安全密码:
Z3w947CFqnY39cfo
这就像你可能需要的那样安全 - 它不受字典攻击的影响,并且足够长时间免受暴力攻击。
(当然你需要把它写下来,除非你有特技记忆,但这总是与密码妥协 - 并且可能它会出现在你的应用程序代码或配置中。)
答案 3 :(得分:0)
如果您使用phpMyAdmin,则在创建用户时,它会生成“生成密码”选项。试试这个,或者你可以这样做:
function generatePassword($length) {
// start with a blank password
$password = "";
// define possible characters
$possible = "0123456789bcdfghjkmnpqrstvwxyz";
// set up a counter
$i = 0;
// add random characters to $password until $length is reached
while ($i < $length) {
// pick a random character from the possible ones
$char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
// we don't want this character if it's already in the password
if (!strstr($password, $char)) {
$password .= $char;
$i++;
}
}
// done!
return $password;
}