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?
<?
/*** Laczymy sie z baza danych ***/
include('config.php');
mysql_connect($host, $user, $pass) or
die('Połączenie z bazą danych nie powiodło się');
if(!isset($_POST['szukaj'])) {
print "<FORM action=\"$PHP_SELF\" method=\"post\">\r\n". '<TABLE>'.
'<TR>'.
'<TD>Szukane nazwisko</TD>'.
'<TD>Dział</TD>'.
'<TD>$nbsp;</TD>'.
'</TR>'."\r\n".
'<TR>'.
"<TD><INPUT type=\"text\" name=\"co\" value=\"$co\"></TD>".
"<TD><SELECT name=\"dzial\"><OPTION value=\"\">Nieistotne<OPTION value=\"opcja1\">opcja1<OPTION value=\"opcja2\">opcja2</SELECT></TD>".
"<TD><INPUT type=\"submit\" name=\"szukaj\" value=\"Szukaj\"></TD>".
'</TR>'."\r\n".
'</TABLE>'.
'</FORM>'."\r\n";
}
else
{
$zapytanie="SELECT * FROM `nazwa`";
if($co!='' || $dzial!='')
{
$zapytanie.="WHERE ";
}
else
{
print "<FORM action=\"$PHP_SELF\" method=\"post\">\r\n". '<TABLE>'.
'<TR>'.
'<TD>Szukane nazwisko</TD>'.
'<TD>Dział</TD>'.
'<TD> </TD>'.
'</TR>'.
'<TR>'.
"<TD><INPUT type=\"text\" name=\"co\" value=\"$co\"></TD>\r\n".
"<TD><SELECT name=\"dzial\"><OPTION value=\"\">Nieistotne<OPTION value=\"opcja1\">opcja1<OPTION value=\"opcja2\">opcja2</SELECT></TD>\r\n".
"<TD><INPUT type=\"submit\" name=\"szukaj\" value=\"Szukaj\"></TD>\r\n".
'</TR>'.
'</TABLE>'.
'</FORM>';
}
if($co!='')
{
$zapytanie.="`nazwisko` LIKE '%$co%' ";
}
if($co!='' && $dzial!='')
{
$zapytanie.="AND ";
}
if($dzial!='')
{
$zapytanie.="`dzial` LIKE '%$dzial%'";
}
$result = mysql_query($zapytanie) or
die('Wystąpił błąd podczas łączenie z bazą danych'); {
$db_id = $wiersz[0];
$db_nazwisko = $wiersz[1];
$db_imie = $wiersz[2];
$db_dzial = $wiersz[3];
$db_tel = $wiersz[4];
$db_email = $wiersz[5];
print "$db_nazwisko $db_imie<br>\r\n". "dział: $db_dzial<br>\r\n".
"telefon: $db_tel<br>\r\n".
"email: <A HREF=mailto:$db_email>$db_email</A><BR><BR>\r\n";
}
}
?>