我目前正在學習框架「CodeIgniter」。但是我的表單驗證有問題。首先,讓我告訴你我的觀點:CodeIgniter形式的XSS過濾
<form method="post" action="connexion">
<label for="pseudo">Pseudo : </label>
<input type="text" name="pseudo" value="" />
<label for="mdp">Mot de passe :</label>
<input type="password" name="mdp" value="" />
<input type="submit" value="Envoyer" /></form>
我的控制器:
public function connexion()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('pseudo', '"user name"', 'trim|required|min_length[5]|max_length[52]|alpha_dash|encode_php_tags|xss_clean');
$this->form_validation->set_rules('mdp', '"password"', 'trim|required|min_length[5]|max_length[52]|alpha_dash|encode_php_tags|xss_clean');
if($this->form_validation->run())
{
$this->load->view('connexion_ok');
}
else
{
$this->load->view('form');
}
}
當我刪除我的控制器中的「xss_clean」過濾器在set_rules(),它完美的作品,形式有效。如果「xss_clean」存在,它不起作用,它會進入else。我在輸入中不使用特殊字符,只使用字母。
在我把這個設置爲true的設置中:$ config ['global_xss_filtering'] = TRUE;
我在某處讀到「xss_clean」過濾器沒用。我還能使用什麼?也許傭工或其他什麼? 謝謝
什麼不工作? –
驗證!它在其他地方 –
默認情況下,XSS保護功能處於關閉狀態。要打開此功能,只需將全局配置(即system/application/config/config.php)設置爲'$ config ['global_xss_filtering'] = TRUE;' – Linus