Ataki związane z SQL? Napisałem o wstrzykiwaniu kodu do instrukcji SELECT. Dużo gorsze może byś wstrzyknięcie kodu do instrukcji INSERT, UPDATE albo DELETE. Zabezpieczać się można w tych wypadkach w ten sam sposób. Dane potraktować funkcją mysql_real_escape_string() i koniecznie ograniczyć je w zapytaniu cydzysłowami. Dotyczy to danych nie tylko z formularza ale z każdego źródła, nawet plików na serwerze albo samej bazy danych.
W ostatnim poście ucięło mi końcówkę. Miało być bindowanie parametrów.
Zapomniałem też napisać o problemie jaki stwarza magic_quotes_gpc(). Jeśli magic_quotes jest włączone backslashe dodawane są automatycznie i trzeba najpierw je usunąć za pomocą funkcji stripslashes(). Żeby nie mieszać w kodzie aplikacji najlepiej zrobić to gdzieś na początku. Tak jak
tu jest opisane.