![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 9 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy uważacie, że stosowanie zapytań preinterpretowanych nawet w przypadku
bardzo prostych zapytań SQL ma sens ? Z jednej strony zawsze utrudniamy sql-injection, ale z drugiej.... Właśnie - czy są jakieś przeciwwskazania ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 3 Dołączył: 7.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jest bardzo fajny artykuł na Wikibooks dotyczący PDO, sekcja "Podpinanie" traktuje tam właśnie o tego typu zapytaniach. Rozumiem że Twoje obawy dotyczą w głównej mierze wydajności (zwłaszcza kiedy piszesz o drobnych zapytaniach). Autor artykułu twierdzi, że:
Cytat Podpinanie jest odporne na ataki SQL Injection. MySQL ma jasno określone, co jest danymi, a co zapytaniem i ściśle się tego trzyma. Ponadto jest także wydajniejsze, niż samodzielne spinanie wszystkiego po stronie PHP. Ile w tym prawdy, nie powiem, bo jeszcze z PDO nie korzystałem, ale zamierzam się w to zagłębić właśnie ze względu na ten artykuł. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 9 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wilkie dzięki.
Zaraz się biore za lekturę. Właściwie nie chodzi tu tylko o PDO. Można użyć również pehapowe mysgli, AdoDB, MDB2, ... Jednak jestem najbardziej skłonny do używania PDO, choćby z tego względu, że jest w 'standardzie' w PHP >= 5.1 I tak jak zauważyłeś chodzi również o wydajność. Najwięcej wątpliwości budzi niepełna informacja z kilku netowych tutoriali i z niektórych podręczników. Przeważnie autorzy podają, że "zapytania preinterpretowane są dobre do większości zapytań typu CRUD, jednak nie do wszystkich...". Tu niestety jeszcze się nie doszukałem co kryje się pod pojęciem "nie do wszystkich". Oj przydała by się jakaś praca przejściowa, albo dyplomowa na ten temat do poczytania (IMG:style_emoticons/default/smile.gif) Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 3 Dołączył: 7.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wiesz, AdoDB i MDB2 to warstwy abstrakcji, PDO to tylko interfejs - tu leży pies pogrzebany bo nie od dziś wiadomo że warstwy abstrakcji nie są najlepszym rozwiązaniem jeśli zależy Ci na wydajności.
Jeżeli chodzi o źródła dotyczące preinterpretowania to wydaje mi się że trzeba poczekać albo potestować samemu, także PDO w dłoń, microtime() w drugą i możesz się podzielić spostrzeżeniami (IMG:style_emoticons/default/smile.gif) . |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 16:07 |