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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...

×
×
  • Criar Novo...