Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [SQL]Jakie jest najlepsze zabezpieczenie przed SQL Injection?
-Gość-
post
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?
Go to the top of the page
+Quote Post
Wazniak96
post
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 to the top of the page
+Quote Post
-Gość-
post
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?
Go to the top of the page
+Quote Post
Wazniak96
post
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.
Go to the top of the page
+Quote Post
Mephistofeles
post
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ą).
Go to the top of the page
+Quote Post
polkom21
post
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
  1. function safe($msg) {
  2. $msg = str_replace("'", "'", $msg);
  3. $msg = str_replace("--", "--", $msg);
  4. return $msg;
  5. }

Czy to jest złe? (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
memory
post
Post #7





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

Ostrzeżenie: (0%)
-----


Cytat(polkom21 @ 29.07.2012, 01:39:16 ) *
Ja przeciw SQL Injection używam prostej funkcji
  1. function safe($msg) {
  2. $msg = str_replace("'", "'", $msg);
  3. $msg = str_replace("--", "--", $msg);
  4. return $msg;
  5. }

Czy to jest złe? (IMG:style_emoticons/default/tongue.gif)


A co to ma niby robić?
Go to the top of the page
+Quote Post
-Gość-
post
Post #8





Goście







Cytat(Mephistofeles @ 28.07.2012, 23:02:38 ) *
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:
  1. $zmienna = strtolower(mysql_real_escape_string($zmienna);
  2. $zmienna = ereg_replace("[^ 0-9a-zA-Z]", " ", $zmienna);


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?


Go to the top of the page
+Quote Post
tuptak6
post
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)
Go to the top of the page
+Quote Post
webdice
post
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.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 21:21