Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zabezpieczenie GET + INSERT ?
d.stp
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Pobieram z adresu URL kilka parametrów, a później dodaje rekord do bazy, np.:


  1. $x = $_GET['x'];
  2. $y = $_GET['y'];


zapytanie wygląda tak:

  1. insert into tabela values ('$x', '$y');


I teraz można dokleić do tego jakieś zapytanie gdyby ktoś poznał link do tego skryptu? Bo sql injection to chyba odpada bo nie działa przy insert? Czy mysql_real_escape_string w zupełności wystarczy?

Powiem szczerze że już od dłuższego czasu mam wiekszą stronkę online a dopiero teraz przez przypadek to znalazłem i zastanawiam się czy jest bezpiecznie (IMG:style_emoticons/default/biggrin.gif) próbuje sam siebie zaatakować (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
slash^
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

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


Zainteresuj się terminem bindowania w PDO.
Go to the top of the page
+Quote Post
d.stp
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


nie chce pdo ani nic podobnego, chce po prostu poznać odp na moje powyższe pytanie (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Nie, nie jest bezpiecznie. Nie ma znaczenia czy robisz insert, update czy delete.

Jak już koniecznie chcesz ściągać parametry z get-a do zapytania to pozbądź się wszystkich znaków nie alfanumerycznych. Np. wyrażeniem regularnym.

  1. $pattern = '#([^0-9a-zA-Z]*)#';
  2. $param = preg_replace($pattern, $_GET['param']);


PS. podaj linka do tej stronki. Też bym popróbował.

Ten post edytował b4rt3kk 15.10.2014, 17:33:23
Go to the top of the page
+Quote Post
borabora
post
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 33
Dołączył: 8.09.2014

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


jeżeli są to współrzędne opisywane liczbowo, to możesz srawdzać, czy w gecie podawana jest liczba
  1. is_numeric($_GET['x'])

zwraca true lub false
albo
  1. $x = (int) $_GET['x'];/*jezeli to nie jest liczba to return 0*/
  2. $y = (int) $_GET['y'];
  3. if ($x > 0 AND $y>0) {
  4. //zapytanie
  5. }


Ten post edytował borabora 15.10.2014, 17:51:45
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: 4.10.2025 - 09:50