Jump to content


Photo

Segurança Em Formulário


  • Faça o login para participar
7 replies to this topic

#1 guilhermevs

guilhermevs

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 16/04/2007, 15:30

Ae galera,
to precisando de ajuda!
Criei um sistema que tem diversos formulários, como login, como cadastrar algo novo, ver algo velho, etc...
Eu sei que há maneiras de se deletar uma tabela do banco de dados se não controlar o que a pessoa escreve no login.
Então, eu queria saber o que é necessário verificar antes de se fazer um SELECT, um INSERT, um UPDATE e um DELETE para que meu sistema fique seguro contra pessoas que querem estragar meu sistema?
Preciso muito de ajuda!
Valeu
Ainda to aprendendo...

http://www.caronasunicamp.com

#2 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 16/04/2007, 16:04

Eu uso a função abaixo, para remover injeções mysql:
function anti_injection($sql_in){
  $sql = preg_replace("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/ie","",$sql_in);
  $sql = trim($sql);
  $sql = strip_tags($sql);
  $sql_out = addslashes($sql);
return $sql_out;
}

echo anti_injection($_POST['campo']);

Espero ter ajudado. ;)

Edição feita por: Inu, 16/04/2007, 16:06.


#3 guilhermevs

guilhermevs

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 16/04/2007, 16:20

Vo testar INU!
Valeu a ajuda ate agora.
Só uma coisa, com essa função, eu coloco coisas no BD, mas para retirar do banco de dados, eu tenho que fazer as operações inversas né?
E como que ficam as inversas?
VALEU (y)
Ainda to aprendendo...

http://www.caronasunicamp.com

#4 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 16/04/2007, 21:00

Não...
A função não compila, nada.
Só que, se ela tiver alguma coisa que pode ser considerada injeção mysql, ela modifica a injeção, para não dar problema. Em caso contrário, ela não faz nada, mantêm como estava o que foi verificado.
Não tem operações inversas. Ou eu não entendi a tua pergunta de operações ou tu não foste claro quanto à isso.

#5 guilhermevs

guilhermevs

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 17/04/2007, 10:22

Eu que não fui claro! Achei que essa função tirava html tambem! tipo se alguem se cadastrar com apelido <b>abc</b>, ae apareceria assim mesmo, e não em negrito.
Você sabe como tirar html pra por no BD e depois colocar denovo pra mostrar na tela tirando do BD?
Valeu a ajuda mesmo eu estando enxendo o saco :assobio:
Ainda to aprendendo...

http://www.caronasunicamp.com

#6 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 17/04/2007, 10:37

$string = '<b>abc</b>';
$string = strip_tags($string);
echo $string;

isso resolve ....

#7 guilhermevs

guilhermevs

    Turista

  • Usuários
  • 53 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 17/04/2007, 10:59

Valeu chips!
Não precisa usar então stripslashes?
Ainda to aprendendo...

http://www.caronasunicamp.com

#8 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 18/04/2007, 13:50

Ah é, agora que eu entendi, ele tira html sim...
tem strip_tags lá ;)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq