![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Czy mysql_real_escape_string() będzie wystarczającym zabezpieczeniem przed SQL Injection?
A jeżeli nie to dlaczego i czy też są jakieś inne lepsze sposoby? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Wrstarczy. Innym sposobem jest funkcja addshlashes. Dodaja one przed cudzygłosami i apostrofami shlshe przez co Uniemozliwiają SQL Injecton. Dlaczego .? To pytanie zadaj sobie sam po przeczytaniu co to wgl jest i na czym polega ten atak (IMG:style_emoticons/default/wink.gif)
|
|
|
-Gość- |
![]()
Post
#3
|
Goście ![]() |
Słyszałem też takie opinie, że od mysql_real_escape_string() lepsza będzie parametryzacja zapytań SQL. To by mogło znaczyć, że funkcja mysql_real_escape_string() w pełni nie zabezpiecza przed atakiem SQL Injection. Pytanie, dlaczego?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Na stronki i serwisy jakie my tworzymy w zupelnosci westarczą takie zabezpieczenia jako, ze nie będą chyba na nią się włamywac hakerzy z anonymous. Bez przesady.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Nie. Używaj PDO kiedy tylko to możliwe, mysql_ to stary wynalazek.
Dlaczego mysql_real_escape_string() nie zabezpiecza w 100%? Bo może trafić się dziura w PHP, co kompletnie omijamy używając podpinania parametrów (baza wie, co jest zapytaniem, a co zmienną). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 22.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ja przeciw SQL Injection używam prostej funkcji
Czy to jest złe? (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Ja przeciw SQL Injection używam prostej funkcji
Czy to jest złe? (IMG:style_emoticons/default/tongue.gif) A co to ma niby robić? |
|
|
-Gość- |
![]()
Post
#8
|
Goście ![]() |
Nie. Używaj PDO kiedy tylko to możliwe, mysql_ to stary wynalazek. Dlaczego mysql_real_escape_string() nie zabezpiecza w 100%? Bo może trafić się dziura w PHP, co kompletnie omijamy używając podpinania parametrów (baza wie, co jest zapytaniem, a co zmienną). Masz rację - w PDO byłoby najlepiej, tyle tylko, że ja do tej pory na swojej stronie pisałem wszystko w czystym MySQL i musiałbym wszystkie zapytania przerobić. A może gdyby zastosować dwie funkcje: Wówczas funkcja ereg_replace() usunęłaby wszystkie niepożądane znaki i po sprawie. Czy też tylko tak mi się wydaje i takie rozwiązanie też nie gwarantuje pełnej ochrony przed SQL Injection? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 1 Dołączył: 11.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wówczas funkcja ereg_replace() usunęłaby wszystkie niepożądane znaki i po sprawie. Czy też tylko tak mi się wydaje i takie rozwiązanie też nie gwarantuje pełnej ochrony przed SQL Injection? Jak się nie myle to w PHP 5.3 już nawet nie ma ereg. (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#10
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Temat był już poruszany na forum wiele razy. Proszę poszukać. Zamykam.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 06:49 |