Matado
11.08.2009, 12:11:55
Chciałbym dowiedzieć się paru rzeczy o SQL Injection. W swoich skryptach np. przy przekazywaniu id stosuję rzutowanie typów czyli np. (int) $_GET['variable'].
Czy rzutowanie typów zabezpiecza w pełni przed SQL Injection?
nospor
11.08.2009, 12:13:31
rzutowanie na int, gdy oczekujemy liczby, zabezpiecza w pelni cie przed tym atakiem
edit: oczywiscie pomijam sytuacje gdy ktos z palca poda jakies ID, do ktorego teoretycznie nie ma dostepu. to oczywiscie tez musisz sprawdzac, ale to juz inna bajka
Matado
11.08.2009, 12:23:13
Ok. Dzięki za odpowiedź. Mam jeszcze jedno pytanie. Czy używanie rzutowania typów ma sens w frameworkach, które są normalnie zabezpieczone przed SQL Injection ? Osobiście używam FW Kohana. Chodzi mi o używanie rzutowania w zapytaniach gdzie używa się id np. takich:
Kod
$view-> something= ORM::factory ('something')-> where ('id', (int) $id)-> find();
nospor
11.08.2009, 12:25:17
ja osobiscie zawsze jak pobieram cos od uzytkownika i to cos ma byc intem, to rzutuje to na inta (robie to w klasie, ktora sluzy do pobierania parametrow od uzytkownika).
oczywiscie teoretycznie odpowiednie klasy do db i odpowiednio uzywane tez zapewniają ochrone przed slqinjection
Matado
11.08.2009, 12:30:50
Teraz już wiem wszystko co chciałem. Dzięki za odpowiedź.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.