@fifi209: No nie trzeba od razu tak besztać. Po to istnieje to forum, aby rozmawiać i wyprowadzać z błędu. Kolega napisał:
Cytat
Byłbym wdzięczny za podanie błędów, które mogą zaszkodzić bezpieczeństwu bazy.
A ja odpowiedziałem co może mu się przytrafić i na co powinien uważać, tylko tyle.
A co do apostrofów: wyraziłem moją niepewność.
Cytat
Jaką różnicę zrobi wpisanie np. jako username
' and 1=1 /*
" and 1=1 /*
Dla mnie żadną
Tak, chyba trochę robi różnicę. Stringa trzeba zamknąć, a jeżeli wyescape'uje się ciąg podany jako argument zostaną wyescapowane wszystkie apostrofy, a zatem ciąg nie zostanie zamknięty i żaden OR ani nic podobnego nie zdziała, bo zostanie częścią stringa, prawda? Poza tym mowa była o int'ach i w tym przypadku bez podania apostrofów escapowanie nie pomogłoby. Chyba, że ja tutaj czegoś nie pojmuję.
Argument, który przemawia za PDO, to przenośność pomiędzy bazami danych. Możliwe, że w przyszłości będziemy musieli uruchomić ten skrypt na innym serwerze, na którym nie będzie MySQL tylko PostgreSQL i co wtedy? Będziemy przepisywać cały kod? Moim zdaniem lepiej pomyśleć o tym wcześniej niż później kląć pod nosem i rezerwować sobie godziny nerwów. Nie rozumiem też tego porównania do koparki. Za pomocą PDO wszystko miałoby zwięzłą i zrozumiałą formę. Mogłbym zrozumieć gdyby chodziło o jakąś zewnętrzną bibliotekę, którą trzeba dołączyć, ale PDO to standard..
Dzięki za ciekawy link! Muszę go później dokładniej przejrzeć.
Pozdrawiam,
mmica