![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, mam taki kod:
I gdy go odpalam na localhost z PHP: 5.4.10 to działa normalnie, natomiast gdy go odpalę na serwerze gdzie jest PHP: 5.3.15 to jest błąd który znika jak usunę funkcję: mysql_real_escape_string();, ale czym zastąpić tą funkcję która zabezpieczała mi zmienne - A może PDO sam w sobie już posiada zabezpieczenie ?. Pozdrawiam i z góry bardzo dziękuje. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
PDO robi to za ciebie.... mysql_real_escape_string() jest zbędne
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to musi być. To się nazywa bindowanie i dzieki temu nie musisz robić już nic więcej
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No to musi być. To się nazywa bindowanie i dzieki temu nie musisz robić już nic więcej Nie szalej, bo jeszcze uwierzy ![]() Walidacja danych musi przebiegać zawsze, gdy odbierasz ją od użytkownika. Bez znaczenia czy używasz PDO czy nie. Swoją drogą, jak to możliwe że na PHP 5.4 nie wywala błędu? Włączyłeś ich widoczność? I poczytaj to http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO Ten post edytował !*! 6.02.2013, 10:11:42 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Nie szalej, bo jeszcze uwierzy .... a od kiedy mysql_escape_string() to walidacja danych? Przecież mówimy o wkładaniu danych do bazy, a nie sprawdzaniu, czy user podał prawidłowe dane....
Walidacja danych musi przebiegać zawsze, gdy odbierasz ją od użytkownika. Bez znaczenia czy używasz PDO czy nie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [PHP][PDO] Czy potrzeba zabezpieczać zmienne, od użytkownika Pamiętasz ten temat z wczoraj o wkładaniu formularzy do bazy? ![]() -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pamietam. Ale co ma piernik do wiatraka? Mówimy tutaj o wkładaniu danych do bazy. Bindowanie wystarcza jeśli mówimy o wkladaniu danych do bazy. Autor pytał się o to w kontekście mysql_escape_string().
A ty wyjeżdzasz nagle z jakąś walidacją. To zupełnie inna sprawa czy dane które podał są prawidłowe w kontekście aplikacji. W kontekście wkładania do bazy bindowanie wystarcza. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
No tak na Localhoscie nie miałem uruchomionych błędów może dla tego...
Zawsze przy odbieraniu danych od użytkownika sprawdzałem funkcją mysql_real_escape_string(); czy nie posiada jakiś dziwnych danych które mogą zaszkodzić mojej bazie (ataki sql injection itp) i dlatego gdy teraz przerzuciłem się na PDO to się zastanawiam czym zastąpić tą funkcję, ale widzę że praktycznie nic nie trzeba robić.. A co do walidacji czyli są jakieś znaki w zmiennej, czy też jest ona za krótka, długa to już inna funkcja która działa mi bardzo dobrze.. Pozdrawiam i z góry bardzo dziękuje za odpowiedz. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zawsze przy odbieraniu danych od użytkownika sprawdzałem funkcją mysql_real_escape_string(); czy nie posiada jakiś dziwnych danych Kolego, nie myl pojęć. Funkcja mysql_real_escape_string niczego nie sprawdza. Ona służy do "eskejpowania", czyli zabezpieczania przez dodawanie znaku ucieczki do potencjalnie niebezpiecznych znaków w ciągu. Ten post edytował sowiq 6.02.2013, 11:18:25 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:49 |