Tak, jest wrażliwy. Mówisz wartości bezpośrednio z danych wejściowych użytkownika i umieszczasz je w zapytaniu.
Powinieneś spojrzeć na mysql_real_escape_string
, lub (najlepiej) użyć MySQLi, który dostarcza sparametryzowanych zapytań. Wstrzyknięcia SQL są spowodowane wstrzykiwaniem danych użytkownika jako kodu SQL zamiast danych. Jedynym prawdziwym sposobem zabezpieczenia zapytania jest użycie zapytań parametrycznych, które oddzielają dane i tekst zapytania na poziomie protokołu.
Ponadto Twoje hasła są przechowywane w postaci zwykłego tekstu. Powinieneś używać funkcji haszowania solonego jako absolutnego minimum.
Powinieneś również spojrzeć na te niesamowite pytania:
- Jak mogę zapobiec wstrzykiwaniu SQL w PHP?
- Bezpieczny hash i sól dla haseł PHP
- Ostateczny przewodnik po form- oparte na uwierzytelnianiu stron internetowych