我想更改Joomla的密码提醒机制的默认行为。我希望能够检查密码的强度和(可选)验证验证码功能。我想知道是否有一个Joomla的免费组件,我可以安装和使用开箱即用。
答案 0 :(得分:1)
如果您不介意在核心代码中进行黑客攻击,那么您可以查看components\com_user\controller.php
文件。在save()
函数中,在第82行附近,它检索用户的密码。此时,您可以插入任何您喜欢的代码来检查密码强度:
$passOK = true;
if($post['password'] != $post['password2']) {
$msg = JText::_('PASSWORDS_DO_NOT_MATCH');
$passOK = false;
} else if (strlen($post['password']) < 6 || !preg_match("/[0-9]/", $post['password'])) {
$msg = "The password is too short, or it doesn't contain any numbers.";
$passOK = false;
}
if (!$passOK) {
$return = @$_SERVER['HTTP_REFERER'];
if (empty($return) || !JURI::isInternal($return)) {
$return = JURI::base();
}
$this->setRedirect($return, $msg, 'error');
return false;
}