Ir para conteúdo
Fórum CódigoFonte.net
filesgh

Validando formulários com filter_input

Recommended Posts

Olá galera!

Agora vamos falar de um tópico que todos já devem ter passado alguma vez.. Todos nós sabemos que a segurança em torno de nossas aplicações web vêm se tornando o principal fator diferencial na venda do produto.. Até maior que sua própria funcionalidade ou marketing. Com a vasta quantidade de informações que as empresas vêm depositando em seus servidores, o cuidado com a exposição dos dados internos aos meios externos deve ser de suma importância..

Mas o que são os meios externos de veiculo de dados??

Estão entre eles:

- formulários

- Algumas variaveis de servidor(ex: $_SERVER['SERVER_NAME'])

- todos os dados veiculados via $_GET, $_POST, $_REQUEST e $_COOKIES

- Dados de querys

- Web services data

- Arquivos diversos

Segundo a nossa boa e velha teoria de Testes de Softwares, todas as informações vindas desses lugares, têm de ser validados para que assegure-se que o que venha seja realmente o que se espera.

Vamos a abordagem:

O filter_input foi adicionado na versão 5 do php, não sei em qual versao.. e agora já está habilitada por padrão nas versões mais atuais..

veja um exemplo prático do seu uso:

arquivo teste.php

<html><body>
<form action="validaform.php" method="post" >
    Nome: <input name="nome" size="10">
   <input type="submit" name="submit" value="Enviar">
</form>
</body></html>
Arquivo validaform.php
<?php
if (filter_has_var(INPUT_POST, 'submit')) {
 $postado = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_SPECIAL_CHARS);
 if (is_null($postado)) {
     echo "O campo nome é requerido.<br />";
 } else {
     echo "Olá Sr(a). ".$postado['nome']."<br/>";
 }

}else{
    include_once('teste.php');
}
?>

a validação foi feita com 2 linhas básicas. A primeira foi a validação do envio na linha:

if (filter_has_var(INPUT_POST, 'submit')) {

a segunda a validação do conteúdo na linha:

$postado = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_SPECIAL_CHARS);

Vejam tambem outras constantes de filtragem, para conversão de strings, validação inteiros, floats e flags.. O Céu é o limite!

Esse recurso torna muito facil a validação de elementos de informação que trafegam no seu sistema.

Vejam mais sobre o conteúdo em:

http://br2.php.net/filter

http://br2.php.net/manual/pt_BR/ref.filter...ilter.constants

Grande abraço!

:lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...