Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Senhores,
Estou utilizando o codeingiter e devido a isso utilizando a classe form_validation do mesmo, mas não sei se estou fazendo errado ou se realmente não existe esta possiblidade.
Tenho um formulário com os campos de nome e sobrenome, criados através do form_input, ao realizar o submit do formulário envio para o meu controler onde tenho o seguinte código:
public function alter(){
$this->load->library('Validation');
$this->form_validation->set_rules('txtNome', 'Nome', 'trim|required|min_length[4]|max_length[100]|alpha');
$this->form_validation->set_rules('txtSobrenome', 'Sobrenome', 'trim|required|min_length[10]|max_length[100]|xss_clean');
if ($this->form_validation->run() == FALSE) {
.....
} else{
....
}
}
O problema que identifique é que, no campo de Sobrenome onde podemos ter mais de uma palavra, caso o usuário digite
<script>alert('teste')</script>
O sistema aceita e deixa o mesmo ser inserido no banco de dados normalmente, e o usuário ao acessar suas informações fica dando um alerta na página, ou seja, está permitindo caracteres especiais, o que acarretaria a permitir um injection também.
Não posso usar alpha_dash porque o mesmo não aceita espaços e também não posso usar apenas alpha porque também não aceita espaços.
Estou começando com Codeigniter e não encontrei nenhuma solução na web nativa do mesmo, todos criam novos métodos para validar este tipo de dados, mas é isso mesmo? só assim conseguirei validar um campo que só pode inserir texto?
Obrigado pela ajuda de todos
Abs
Carregando comentários...