我習慣於使用CodeIgniter編碼應用程序,我是一個新手。我剛開始學習CodeIgniter 3.0,並達到了驗證規則。CodeIgniter電子郵件和密碼的驗證規則
我注意到xss_clean
現在已經從驗證類中消失了,所以我應該在驗證電子郵件和密碼時使用哪些規則?僅使用trim
,valid_email
,並且對安全性的要求足夠了?
對不起,如果這個問題已被問到,但我搜索周圍,我看到人們使用xss_clean
的舊主題。
我習慣於使用CodeIgniter編碼應用程序,我是一個新手。我剛開始學習CodeIgniter 3.0,並達到了驗證規則。CodeIgniter電子郵件和密碼的驗證規則
我注意到xss_clean
現在已經從驗證類中消失了,所以我應該在驗證電子郵件和密碼時使用哪些規則?僅使用trim
,valid_email
,並且對安全性的要求足夠了?
對不起,如果這個問題已被問到,但我搜索周圍,我看到人們使用xss_clean
的舊主題。
包括電子郵件助手:
$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');
在CodeIgniter 3中不是xss_clean折舊?另外,密碼錶達式有什麼作用? –
除此之外,在電子郵件幫助器類中,它表示「電子郵件幫助器已被棄用,目前僅保留用於向後兼容。」 –
http://www.codeigniter.com/userguide3/helpers/email_helper.html#loading-this-helper在這裏檢查如何使用這個。你也可以使用filter_var($ email,FILTER_VALIDATE_EMAIL); – Deep
xss_clean在Codeigniter 3.0中不推薦使用。它不再在form_validation庫中。對於完全阻止XSS也沒有那麼有用。你應該有自定義函數來清理userdata。在html上打印時更好地清理userdata。 –