我的问题是,当我在zend password元素中输入密码时,它会显示在项目符号(加密格式)中,而当我在chrome或Mozilla中检查时,它会以纯text.how格式显示密码。我的意思是,当我输入密码并检查该密码时,它不会以纯文本格式显示我的密码。
$password = new Zend_Form_Element_Password('Password');
$password->setRequired(true)
->setAttrib('size', 30)
->setRenderPassword(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('StringLength',false,array('min' => 6,'max' => 50,
'messages' => array(
Zend_Validate_StringLength::INVALID =>'Please Enter correct Password',
Zend_Validate_StringLength::TOO_LONG =>'Password is too long',
Zend_Validate_StringLength::TOO_SHORT =>'Password is too short')));;
$password->class="textbox";
$password->setDecorators($decorators);
$password->setAttrib('Maxlength', 50); 发布于 2012-09-26 19:57:22
我认为这个问题是由于setRenderPassword(true)语法造成的。如果您删除它,它将不会有明文形式的密码。
发布于 2012-09-27 21:54:26
看起来你的password元素比实际需要的要忙一点。
此外,如果这些过滤器的实现发生变化,也可能破坏您的散列。
$password = new Zend_Form_Element_Password('Password');
$password->setRequired(true)
->setAttrib('size', 30)
->addFilter('HtmlEntities')
->addValidator('StringLength',false,array('min' => 6,
'messages' => array(
Zend_Validate_StringLength::TOO_SHORT =>'Password is too short'
)));;
$password->class="textbox";
$password->setDecorators($decorators);现在将“Password”的值转储到您的散列函数中,然后保存或比较它。
祝好运!
https://stackoverflow.com/questions/12600745
复制相似问题