我有一个PHP页面,允许人们运行htpasswd来更新他们的密码。消除他们意见的最佳方式是什么?我不想限制输入,因为我想允许安全密码。这是我的。如何改进?消毒一个PHP密码字符串
$newPasswd = preg_replace('/[^a-z0-9~!()_+=[]{}<>.\\\/?:@#$%^&*]/is', '', $inputPasswd);
$cmdline = $htpasswd . " " . $passwd_file . " " . escapeshellarg($username) . " " .escapeshellarg($newpasswd);
exec($cmdline, $output, $return_var);
这实际上是一个插件的一部分,我已经限制了与用户交互的能力。真正的用户输入不好的角色的可能性很低,我愿意处理支持电话。 – JonDrnek 2009-06-12 13:00:31
虽然,我可能会导致密码更改失败更早...我会研究该 – JonDrnek 2009-06-12 13:04:40