Como prevenir SQL Injection em PHP? Trabalhando com MySQL de forma segura
Olá a todos. Sou um desenvolvedor PHP iniciante e estou com um sério problema de segurança. Estou criando um site simples para registro de usuários, mas não tenho certeza se meu código está protegido contra invasões.
Aqui está um exemplo do meu código de autenticação:
```php
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($connection, $query);
if (mysqli_num_rows($result) > 0) {
echo "Bem-vindo, $username!";
} else {
echo "Login ou senha inválidos";
}
```
Ouvi dizer que esse código é vulnerável a SQL Injection. Por exemplo, se inserir `' OR '1'='1` no campo username, é possível contornar a verificação de senha. Como posso proteger minha aplicação corretamente? Preciso escapar aspas com `mysqli_real_escape_string`? Ou existem formas mais modernas? De preferência com exemplos de código para que eu possa aplicar na prática.
Desde já, obrigado pela ajuda!
<<>>