Una richiesta HTTP valida. Con concatenazioni offuscate o codifiche esadecimali il WAF può essere aggirato.
Con query parametrizzate o un ORM l'input utente non può mai essere interpretato come comando SQL.
var sql = "SELECT * FROM users WHERE name = '" + name + "'"; // ✗
cmd.CommandText = "SELECT * FROM users WHERE name = @name";
cmd.Parameters.AddWithValue("@name", name); // ✓