Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_match i błąd
hyhyhy
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 5
Dołączył: 6.02.2011

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


Witam,

W pliku dodającym rekordy do bazy staram się usunąć niebezpieczne znaki - standardowa procedura. Korzystałem z manuala układając skrypt, a mimo to wywala mi błąd - czy ktoś mógłby mi wskazać, co robię źle?

skrypt:
  1. $wyrazenie_gotowe1 = strtolower($wyrazenie_trimmed);
  2. //-------------------------------------------------------//
  3. $wyrazenia = array(); //deklaracja tablicy
  4. $wyrazenia[0] = '/insert/'; //wyrazenia zabronione
  5. $wyrazenia[1] = '/select/';
  6. $wyrazenia[2] = '/where/';
  7. $wyrazenia[3] = '/""/';
  8. $wyrazenia[4] = '/``/';
  9. $wyrazenia[5] = '/\/';
  10. $wyrazenia[6] = '/=/';
  11. $wyrazenia[7] = '/union select/';
  12. $wyrazenia[8] = '/from/';
  13. $wyrazenia[9] = '/into/'; //az dotad
  14. //------------------------------------------------//
  15. $zastepstwa = array(); //na co maja byc zastepowane kolejno
  16. $zastepstwa[9] = 'umiesc';
  17. $zastepstwa[8] = 'wybierz';
  18. $zastepstwa[7] = 'gdzie';
  19. $zastepstwa[6] = '/ /';
  20. $zastepstwa[5] = '/ /';
  21. $zastepstwa[4] = '/ /';
  22. $zastepstwa[3] = '/ /';
  23. $zastepstwa[2] = '/wybierz/';
  24. $zastepstwa[1] = '/z/';
  25. $zastepstwa[0] = '/do/'; //az dotad
  26. //--------------------------------------------//
  27. $wyrazenie_gotowe = preg_replace($wyrazenia, $zastepstwa, $wyrazenie_gotowe1);


A blad wyglada tak, ze Warning: preg_replace() [function.preg-replace]: No ending delimiter '/' found
wywala go w ostatniej linii, przy preg_replace, ale rozumiem, ze problem ma wczesniej, tylko nie wiem gdzie, wszedzie mam '/' na swoim miejscu chyba?

Pytanie drugie: czy ktoś ma pomysł, jak zapisać do $wyrazenia znak ' ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat
W pliku dodającym rekordy do bazy staram się usunąć niebezpieczne znaki - standardowa procedura

Nie no słówko insert jest strasznie niebezpieczne. Dosłownie ciarki przeze mnie przechodzą jak je słyszę.
Mam pomysł. Zgłoś swoje imię i nazwisko do słów niebezpiecznych a na pewno przyczynisz się do bezpieczeństwa małych MySQL-elków, które dzięki tobie będą mogły żyć spokojnie
A tak bardziej serio to weź ty się zainteresuje mysql_real_scape_string bo takich kosmosów to od 10 lat się NIE ROBI.
Go to the top of the page
+Quote Post
hyhyhy
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 5
Dołączył: 6.02.2011

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


wybacz, ale nie mam pojęcia co się robi lub nie od 10 lat, bo php/mysql uczę się od bardzo niedawna? W kazdym razie dzięki, poczytam.
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




P.s. Co do tematu spójrz na linię 9 listingu w twoim pierwszym poście. Edytor Ci podpowiedział. Co nie zmienia faktu, że ta metoda zabezpieczenia i tak jest bezużyteczna.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 14:45