Dicas de segurança para o PHP
[update]Só esqueci de falar que depois que você usar a função anti_sql_injection() vocÊ tem que usar o stripslashes() pra tirar as barra invertidas é só fazer assim: echo stripslashes($nome); [/update]
Recentemente li alguns artigos que falavam sobre a baixa segurança do scripts PHP feitos por programadores iniciantes, aqui vai duas dicas que já deixaram seus scripts mais seguros:
- Desativar as variáveis globais, se ele estiver ativo é muito fácil burlar o seu script. Para desativar é só alterar a seguinte linha do php.ini(arquivo de configuração do PHP) register_globals =Off
- SQL Injection é outro grande problema, mas podemos resolve-lo assim:
function anti_sql_injection($sql){
$sql = preg_replace(sql_regcase(“/(from|select|insert|delete|where|drop table|show tables|#|\*|–|\\\\)/”),”",$sql);//remove toda a sintaxe SQL
$sql = trim($sql);//limpa os espaços em branco
$sql = strip_tags($sql);//remove todas as tags HTML e a sintaxe PHP
$sql = addslashes($sql);//insere barra invertida na string exemplo: Nome: “teste” ficaria Nome: \”teste\”
return $sql;
}
Agora é só pegar os dados do POST/GET assim: $nome = anti_sql_injection($_POST[”nome”]);
Só isto não torna seu script 100% seguro, mas ajuda!
Se você conhece outra tecnica posta ai…