Trochę bym to uzupełnił. Dla przykładu, jeżeli oczekujesz na zmienna _POST typu całkowitego, to sprawdzałbym, czy dane przychodzące to rzeczywiście liczba itd.
Tak jak kolega flaszer napisał, rzutuj dane na typ numeryczny jeśli spodziewasz się liczby (np. dodaj dodatkowy parametr do funkcji, że jesli = True to rzutujesz)
Magic quotes zawsze powinno być na Off a dane powinny być odpowiednio filtrowane przez programistę. Nie sprawdzaj czy jest włączone tylko jeśli masz możliwość to wyłącz.
SID w adresie oznacza to ze SID jest w adresie zamiast w cookie (zależy od danej konfiguracji sesji). Plus tego jest taki że nie jesteś zależny od cookie (bo niby użytkownik może mieć wyłączone cookie chociaż ja się jeszcze z taką osobą nie spotkałem) minus tego jest taki że - osoba X może za plecami osoby Y która jest np. zalogowana na forum przepisać SID danej sesji i przejąć konto. Osobiście = tylko cookie
wychodzisz z błędnego założenia, że funkcja nazywająca się prepareString może zajmować się czymś co w domyśle ma być liczbą, a zasadniczo tak nazwana funkcja powinna była zajmować się tylko tekstem
tutaj kolejne CHYBA błędne założenie, że użytkownik zamierza wykorzystywać mysql, w zasadzie wszystko zależy od tego na ile podobnie działają funkcje takie jak mysql_real_escape_string(), mysqli_real_escape_string(), pg_escape() i co tam jest jeszcze…
Dzięki za odpowiedzi. Czyli lepiej korzystać z addslashes(). A możesz mi wytłumaczyć (wiem że zapewne głupie pytanie) co to są metody natywne? W googlach pisze tylko coś o javie…
nie, lepiej nie korzystać z addslashes, lepiej korzystać z funkcji przygotowanej dla systemu bazodanowego którego używasz, jednak korzystanie z mysql poprzez funkcje przygotowane specjalnie pod ten system (mysql_real_escape_string(), mysqli_real_escape_string(), pg_escape() itd.). jednak obsługa mysql w php poprzez funkcje mysql_ jest mało wydajna dlatego lepszym rozwiązaniem, jeżeli korzystasz z mysql będzie zainteresowanie się mysqli albo PDO