antiblock
Rodnia | Alpha & Omega
Sign in to follow this  
Rancoroso

Sistema Anti-Injection (Php+Mysql)

8 posts in this topic

Deixo aqui um codigo que ajuda a bloquear comandos no campo POST do php.Esse script é muito utilizado em sistema de login,registre e atualização de dados.Para utilizar a função basta add o block(); e dentro dos ($_POST["nome_do_campo"]).

<?php        function block($sql)	 {    // remove palavras que contenham sintaxe sql    $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);    $sql = trim($sql);//limpa espaços vazio    $sql = strip_tags($sql);//tira tags html e php    $sql = addslashes($sql);//Adiciona barras invertidas a uma string    return $sql;   }      //modo de usar pegando dados vindos do formulario    $nome = block($_POST["nome"]);   $senha = block($_POST["senha"]);      ?>
Creditos não é meu e também não lembro onde achei apenas estou campartilhando com vocês.Qualquer duvida pode pergunta.Mexo com php a um bom tempo já.

Share this post


Link to post
Share on other sites
antiblock
Elveron

Está bem feito sim senhores :)

Share this post


Link to post
Share on other sites
Está correcto sim, mas isto pode ser simplificado apenas com uma função da biblioteca do PHP chamada "mysql_escape_string()", que adiciona barras invertidas a cada caracter que cunicida com o da função expecificada a chamar função SQL, no entanto esse algoritmo ai explicado, vem reforçar essa função...

Share this post


Link to post
Share on other sites
Guest Henrique Oliveira

Está bem feito sim senhores :)

Está correcto sim, mas isto pode ser simplificado apenas com uma função da biblioteca do PHP chamada "mysql_escape_string()", que adiciona barras invertidas a cada caracter que cunicida com o da função expecificada a chamar função SQL, no entanto esse algoritmo ai explicado, vem reforçar essa função...

Que posso dizer mais? http://cyber-gamers.org/public/style_emoticons/default/451960.gif

Share this post


Link to post
Share on other sites

Que posso dizer mais? http://cyber-gamers.org/public/style_emoticons/default/451960.gif

Poderias dizer que agora usasse outra função em vez de a antiga que o tiago referiu chamada, mysql_real_escape_string() ..

Share this post


Link to post
Share on other sites
Guest Henrique Oliveira

Era uma pergunta retórica (ou nem isso percebes) enfim

Share this post


Link to post
Share on other sites

Sim eu sabia que era uma pergunta retórica, mas queria relembrar o desuso dessa função, por isso aproveitei a tua questão, não era para levares a mal nem algo do género, enfim... http://cyber-gamers.org/public/style_emoticons/default/lol.gif

Share this post


Link to post
Share on other sites
Não vale a pena discutir o que e ou não melhor, cada um usa o algoritemo que acha melhor e mais seguro para si... claro que sugestões e opniões é outra coisa, mas não vale a pena discutir isso ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this