我习惯用CodeIgniter编写应用程序,我是一个新手。我刚刚开始学习CodeIgniter 3.0,并且达到了验证规则。
我注意到xss_clean
现在已经从验证类中消失了,那么我应该在验证电子邮件和密码时使用哪些规则?仅使用trim
,valid_email
和必需品足以保障安全吗?
很抱歉,如果问过这个问题,但我搜索了一下,我看到人们使用xss_clean
的旧主题。
答案 0 :(得分:4)
包括电子邮件帮助:
$this->load->helper('email');
对于电子邮件:
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|xss_clean');
或者您也可以使用PHP过滤器进行电子邮件验证
filter_var($email, FILTER_VALIDATE_EMAIL);
用于密码表达
public function chk_password_expression($str)
{
if (1 !== preg_match("/^.*(?=.{6,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).*$/", $str))
{
$this->form_validation->set_message('chk_password_expression', '%s must be at least 6 characters and must contain at least one lower case letter, one upper case letter and one digit');
return FALSE;
}
else
{
return TRUE;
}
}
要调用您应该使用的功能:
$this->form_validation->set_rules( 'password', 'Password', 'trim|required|min_length[6]|max_length[15]|callback_chk_password_expression');
注意:chk_password_expression应位于同一个类控制器或父类中。电子邮件帮助应包含在$ this-> load-> helper('email');