https://supunkavinda.blog/php/mysqli-prepared-statements
https://www.w3schools.com/php/php_mysql_select_where.asp
Algoritmos de hash:
função md5 (32 caracteres) e função sha1(40 caracteres) e password_hash (60 caracteres)
É desaconselhado usar a função md5 pois na internet existem tabelas que ligam o valor original ao hash! e sha1 It is not recommended to use this function to secure passwords
$password
, string $hash
): boolDados inseridos no formulário não são iguais aos da tabela users pelo que vai dar erro "Os dados introduzidos são inválidos"
Esses ataques baseiam-se principalmente em explorar falhas no código escrito sem se preocupar com segurança. Nunca confie em nenhum tipo de entrada, especialmente aquela que vem do lado do cliente, mesmo que venha de um combobox, um campo de entrada escondido (hidden) ou um cookie. O primeiro exemplo mostra como uma consulta inocente pode causar desastres.
- Nunca conecte à base de dados como um super utilizador ou como o dono da base de dados. Use sempre utilizadores personalizados com privilégios bem limitados.
- Use declarações preparadas com variáveis associadas. Eles são fornecidos pelo PDO, por MySQLi e por outras bibliotecas.
- Verifique se a entrada fornecida tem o tipo de dados esperado. O PHP tem uma ampla gama de funções de validação de entrada, desde as mais simples encontrado em Funções de variável e em Funções de tipo de caracter (por exemplo, is_numeric(), ctype_digit() respectivamente) e até mesmo com suporte de Expressões regulares compatíveis com Perl
Se a aplicação espera por entradas numéricas, considere verificar os dados com a função is_numeric(), ou silenciosamente mudar o seu tipo usando settype(), ou usar a representação numérica usando a função sprintf().
ATAQUES SQL INJECTION
Sem comentários:
Enviar um comentário