Witam, popelnilem kod widoczny ponizej (wlasciwie jestem wciaz w trakcie jego realizaji). Chcialem sie Was spytac, czy niesie on ze soba jakies niebezpieczenstwo typu MySQL Injection?
Czy powinienem(i w jaki sposob) zabezpieczyc sie przed tego typu atakiem, skoro i tak w tabeli przechowywane beda tylko jawne (tzn bedzie do nich swobodny dostep) dane?

  1. <?
  2. /*** Laczymy sie z baza danych ***/
  3. include('config.php');
  4. mysql_connect($host, $user, $pass) or die('Połączenie z bazą danych nie powiodło się');
  5. mysql_select_db($name) or die('Połączenie z bazą danych nie powiodło się');
  6.  
  7.  
  8. if(!isset($_POST['szukaj']))
  9.  {
  10. print "<FORM action=\"$PHP_SELF\" method=\"post\">\r\n".
  11. '<TABLE>'.
  12. '<TR>'.
  13. '<TD>Szukane nazwisko</TD>'.
  14. '<TD>Dział</TD>'.
  15. '<TD>$nbsp;</TD>'.
  16. '</TR>'."\r\n".
  17. '<TR>'.
  18. "<TD><INPUT type=\"text\" name=\"co\" value=\"$co\"></TD>".
  19. "<TD><SELECT name=\"dzial\"><OPTION value=\"\">Nieistotne<OPTION value=\"opcja1\">opcja1<OPTION value=\"opcja2\">opcja2</SELECT></TD>".
  20. "<TD><INPUT type=\"submit\" name=\"szukaj\" value=\"Szukaj\"></TD>".
  21. '</TR>'."\r\n".
  22. '</TABLE>'.
  23. '</FORM>'."\r\n";
  24.  } 
  25. else 
  26.  {
  27. $co=trim(strip_tags($_POST['co']), "\t,;:");
  28. $dzial=trim(strip_tags($_POST['dzial']), "\t,;:");
  29. $zapytanie="SELECT * FROM `nazwa`";
  30. if($co!='' || $dzial!='')
  31.  {
  32. $zapytanie.="WHERE ";
  33.  }
  34. else
  35. {
  36. print "<FORM action=\"$PHP_SELF\" method=\"post\">\r\n".
  37. '<TABLE>'.
  38. '<TR>'.
  39. '<TD>Szukane nazwisko</TD>'.
  40. '<TD>Dział</TD>'.
  41. '<TD>&nbsp;</TD>'.
  42. '</TR>'.
  43. '<TR>'.
  44. "<TD><INPUT type=\"text\" name=\"co\" value=\"$co\"></TD>\r\n".
  45. "<TD><SELECT name=\"dzial\"><OPTION value=\"\">Nieistotne<OPTION value=\"opcja1\">opcja1<OPTION value=\"opcja2\">opcja2</SELECT></TD>\r\n".
  46. "<TD><INPUT type=\"submit\" name=\"szukaj\" value=\"Szukaj\"></TD>\r\n".
  47. '</TR>'.
  48. '</TABLE>'.
  49. '</FORM>';
  50. }
  51. if($co!='')
  52.  {
  53. $zapytanie.="`nazwisko` LIKE '%$co%' "; 
  54.  }
  55. if($co!='' && $dzial!='')
  56.  {
  57.  $zapytanie.="AND ";
  58.  } 
  59. if($dzial!='')
  60.  {
  61. $zapytanie.="`dzial` LIKE '%$dzial%'"; 
  62.  }
  63.  
  64. $result = mysql_query($zapytanie) or die('Wystąpił błąd podczas łączenie z bazą danych');
  65. while($wiersz = mysql_fetch_row($result))
  66. {
  67.  $db_id = $wiersz[0];
  68.  $db_nazwisko = $wiersz[1];
  69.  $db_imie = $wiersz[2];
  70.  $db_dzial = $wiersz[3];
  71.  $db_tel = $wiersz[4];
  72.  $db_email = $wiersz[5];
  73.  
  74.  print "$db_nazwisko $db_imie<br>\r\n".
  75. "dział: $db_dzial<br>\r\n".
  76. "telefon: $db_tel<br>\r\n".
  77. "email: <A HREF=mailto:$db_email>$db_email</A><BR><BR>\r\n";
  78. }
  79.  }
  80. ?>