Ver mais em:
Melhor exemplo (olha a gambi que tive que fazer para publicar):
Sendo que user
e senha
não variáveis do seu código que receberam diretamente os dados vindo externamente à sua aplicação sem nenhum tratamento. Só nessas condições dá certo.
Em geral vão mandar o nome do usuário assim (se o user
não aceitar tantos caracteres, pode tentar na senha
, se também não der, não sei se tem solução pensada para todos os DBs, portanto ter poucos caracteres é ruim de um lado, mas pode previnir esse tipo específico de ataque, ainda pode conseguir de outra forma, então melhor fazer certo):
Isso fecha as aspas da query, e em seguida garante que será verdadeiro sempre conectando com OR
ue exihge que só um lado seja verdadeiro, e 1=1
é verdadeiro, e depois usa o comentário para o resto do texto que já estava no seu código ser desconsiderado e não dar erro, ficando assim quando for executar (a senha não importa):
Pode testar. Espero não ter comido alguma bola, eu não testei :D
Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).