Quais os problemas que posso ter no armazenamento de dados no mysql
Ola pessoal,
Vejo diversas pessoas utilizando funções para evitar "problemas" de usuários mau intencionados, bem como aqueles sem nenhum intenção.
Estas funções são claras para mim, entendo muitas delas, mas o que eu queria saber é quais o pessoal mais utiliza e as melhores "ideias" para as seguintes situações:
Obs. Algo que seja simples porém seguro nos formulários do dia dia também é importante.
CADASTRO EM FORMULÁRIOS (POST) NO GERAL
ACESSO AO PAINEL DE CONTROLE POR LOGIN E SENHA
ENVIO DE INFORMAÇÕES PARA O BANCO DE DADOS PARA CONSULTA
Algumas funções que já vi, por favor me informem se tem mais e como podemos utilizar:
htmlspecialchars(), evitar injetar tags HTML ou Java Scrpit em sua página
int(), input que os valores precisam ser números, essa é um saída.
trim(), evita inserção de dados no query do mysql...
retorna uma string com os espaçoes retirados do ínicio e do final de str.
preg_replace(), evitar adicionar informações como "SELECT", "INSERT" e demais no formulário que possa evitar tal "invasão em sem mysql"
String ou um array com strings para pesquisar e substituir
============================
strip_tags(), esta função tenta retornar uma string retirando todas as tags HTML e PHP de str.
fgetss(), tenta retirar qualquer tag HTML ou PHP do texto que ele lê.
Obs. Para mim são iguais
===========================
get_magic_quotes_gpc(), utilizada para verificar se houve mudança nas informações recebidas da original.
addslashes(), retorna uma string com barras invertidas antes de caracteres que precisam ser escapados para serem escapados em query a banco de dados, etc. Estes caracteres são aspas simples ('), aspas duplas ("), barra invertida (\) e NUL (o byte NULL).
Agora vamos ao exemplo:
/ FUNÇÃO PARA EVITAR ENVIO DE INFORMAÇÕES MAL INTENCIONADAS /
function anti_injection($obj){
$obj = preg_replace("/(from|alter table|select|insert|delete|update|where|drop table|show tables|#|*|--|\\)/i", "", $obj);
$obj = trim($obj);
$obj = strip_tags($obj);
if(!get_magic_quotes_gpc()) {
$obj = addslashes($obj);
return $obj;
}
}Discussão (5)
Carregando comentários...