Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sql injection
Forum PHP.pl > Forum > Przedszkole
slaw.omir
Mam pytanie czy poniższy kod w dużym stopniu zabezpieczy skrypt
przed atakiem sql injection

  1. <?php
  2. include('connect.php');
  3.  
  4. $kat=$_GET['kat'];
  5. $torba=$_GET['torba'];
  6.  
  7. $torba = mysql_real_escape_string($_GET['torba]);
  8.  
  9. if (! ereg ("[a-z-]$", $_GET['kat'])){
  10.  
  11. $ostrzezenie2='2';
  12.  
  13.  }else{
  14.  
  15. if($kat=='kategoria_a'){
  16.  
  17.  $zapytanie = mysql_query ("SELECT * FROM firmy_towar where kategoria = 'kategoria_a''")
  18. or die ("Zapytanie niepoprawne");
  19.  
  20. while ($row = mysql_fetch_array($zapytanie)){
  21. $id_f[]=$row["id_f"];
  22. $firma[]=$row["firma"];
  23. $stoisko[]=$row["stoisko"];
  24.  
  25. }
  26.  
  27.  
  28. }
  29.  
  30. else if (! ereg ("[a-z-]$", $_GET['$torba]))
  31.  
  32. {
  33.  
  34. $ostrzezenie2='2';
  35.  
  36.  }else{
  37.  
  38. $zapytanie = mysql_query ("SELECT * FROM firmy_lokalne where kategoria = '$torba'")
  39. or die ("Zapytanie niepoprawne");
  40.  
  41. while ($row = mysql_fetch_array($zapytanie)){
  42. $id_f[]=$row["id_f"];
  43. $firma[]=$row["firma"];
  44. $stoisko[]=$row["stoisko"];
  45.  
  46.  
  47. }
  48. }
  49.  
  50.  
  51. mysql_close($connect);
  52. ?>


W jaki sposób moge zabezpieczyć taki skrypt przed atakiem sql injection?
.radex
Temat: SQL Injection Insertion
pyro
Nie, zwłaszcza, że skrypt wywali błąd tongue.gif
  1. <?php
  2. $torba = mysql_real_escape_string($_GET[torba]);
  3. ?>

powinno byc:

  1. <?php
  2. $torba = mysql_real_escape_string($_GET['torba']);
  3. ?>


//EDIT nie wiedziec czemu w gornym przykladzie forum mi usuwa '
.radex
eee... jaka jest różnica pomiędzy dwoma przykładami (oprócz apostrofu, którego brak nie wywala błędów) ?
pyro
w górnym przykładzie jest $_GET['torba];, w moim poście mi usuwa apostrof przed "torba", PHP powinien wywalić błąd UNEXPECTED
Cienki1980
Jak na samym początku wspomniano, jest już duży wątek traktujący o problemie i tam zapraszam autora.

Ten temat zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.