我有一個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