Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]zabezpieczenie skryptu
Forum PHP.pl > Forum > Przedszkole
programistaarek
Witam chciałbym zabezpieczyc mó skrypt przed sql injection a oto on

  1. ?php
  2. ##################################
  3. if($user['walka'] > 0){
  4. if($user['energia'] >= 0){
  5.  
  6. $_GET['akcja'] = filter_var(trim($_GET['akcja']), FILTER_SANITIZE_STRING);
  7. if($_GET['akcja'] == 'walcz'){
  8. $uwynik = 0;
  9. $pwynik = 0;
  10. $przeciwnik = mysql_fetch_array(mysql_query("select login,sila,wytrzymalosc,szybkosc,technika,tech from users where login = '".$_GET['z']."'"));
  11.  
  12. if($przeciwnik['sila'] > $user['sila']) $pwynik = $pwynik+1;
  13. elseif($przeciwnik['sila'] < $user['sila']) $uwynik = $uwynik+1;
  14.  
  15. if($przeciwnik['tech'] > $user['tech']) $pwynik = $pwynik+1;
  16. elseif($przeciwnik['tech'] < $user['tech']) $uwynik = $uwynik+1;
  17.  
  18. if($przeciwnik['wytrzymalosc'] > $user['wytrzymalosc']) $pwynik = $pwynik+1;
  19. elseif($przeciwnik['wytrzymalosc'] < $user['wytrzymalosc']) $uwynik = $uwynik+1;
  20.  
  21. if($przeciwnik['szybkosc'] > $user['szybkosc']) $pwynik = $pwynik+1;
  22. elseif($przeciwnik['szybkosc'] <$user['szybkosc']) $uwynik = $uwynik+1;
  23.  
  24. if($przeciwnik['technika'] > $user['technika']) $pwynik = $pwynik+1;
  25. elseif($przeciwnik['technika'] < $user['technika']) $uwynik = $uwynik+1;
  26.  
  27. if($pwynik > $uwynik) $wynik = 1;
  28. elseif($pwynik == $uwynik) $wynik = 2;
  29. elseif($pwynik < $uwynik) $wynik = 3;
  30.  
  31.  
  32. if($wynik == 1){
  33. $rotator = array(
  34. array('komentarz'),
  35. array('komentarz'),
  36. array('komentarz'),
  37. );
  38. shuffle($rotator);
  39.  
  40.  
  41. echo $rotator[0][0].''.$rotator[0][1];
  42. mysql_query("UPDATE `users` SET kasa = kasa-'100', szacunek2 = szacunek2-'25' WHERE login = '$user[login]';");
  43. mysql_query("UPDATE `users` SET kasa = kasa+'500', szacunek2 = szacunek2+'100' WHERE login = '$przeciwnik[login]';");
  44. mysql_query("UPDATE `users` SET energia = '0', przegrane = przegrane+'1' WHERE login = '$user[login]';");
  45. mysql_query("UPDATE `users` SET energia = '30', wygrane = wygrane+'1' WHERE login = '$przeciwnik[login]';");
  46. }
  47. elseif($wynik == 2){
  48. $rotator = array(
  49. array('komentarz
  50.  
  51.  
  52.  
  53. '),
  54. array('komentarz
  55.  
  56.  
  57.  
  58. '),
  59. array('komentarz
  60.  
  61.  
  62. '),
  63. );
  64. shuffle($rotator);
  65. echo $rotator[0][0].''.$rotator[0][1];
  66. mysql_query("UPDATE `users` SET kasa = kasa+'250', szacunek2 = szacunek2+'50', remis = remis+'1' WHERE login = '$user[login]';");
  67. mysql_query("UPDATE `users` SET kasa = kasa+'250', szacunek2 = szacunek2+'50' remis = remis+'1' WHERE login = '$przeciwnik[login]';");
  68. mysql_query("UPDATE `users` SET energia = '20' WHERE login = '$user[login]';");
  69. mysql_query("UPDATE `users` SET energia = '20' WHERE login = '$przeciwnik[login]';");
  70. }
  71. elseif($wynik == 3){
  72. $rotator = array(
  73. array('komentarz
  74.  
  75. '),
  76. array('komentarz
  77.  
  78. '),
  79. array('komentarz
  80. '),
  81. );
  82. shuffle($rotator);
  83. echo $rotator[0][0].''.$rotator[0][1];
  84. mysql_query("UPDATE `users` SET kasa = kasa+'500', szacunek2 = szacunek2+'100' WHERE login = '$user[login]';");
  85. mysql_query("UPDATE `users` SET kasa = kasa-'100', szacunek2 = szacunek2-'25' WHERE login = '$przeciwnik[login]';");
  86. mysql_query("UPDATE `users` SET energia = '30', wygrane = wygrane+'1' WHERE login = '$user[login]';");
  87. mysql_query("UPDATE `users` SET energia = '0', przegrane = przegrane+'1' WHERE login = '$przeciwnik[login]';");
  88.  
  89. }
  90.  
  91.  
  92.  
  93. }
  94. else{
  95.  
  96.  
  97.  
  98. $query = mysql_query("select * from users ORDER BY login LIMIT 100");
  99.  
  100. <table>
  101. <tr>
  102. <td width='150px'>Nazwa Gracza</td>
  103. <td width='150px'>akcja</td>
  104.  
  105. </tr>";
  106.  
  107. $row = 0;
  108.  
  109. while($dane = mysql_fetch_array($query)){
  110. if($row==0) $style ='border-width: thin;border-style: solid;border-color: orange;background:#777777;';
  111. else $style ='border-width: thin;border-style: solid;border-color: orange;background:#444444;';
  112.  
  113. <tr style='".$style."'>
  114. <td><font color='grenn'>".$dane['login']."</font></td>
  115. <td><a href='/walka.php?akcja=walcz&z=".$dane['login']."'>Stocz pojedynek</a></td>
  116. </tr>";
  117.  
  118.  
  119. $row = !$row;
  120. }
  121.  
  122.  
  123. echo"</table><hr/>";
  124.  
  125. }
  126. }
  127. else echo '<font color=red>Nie masz nawet po co wchodzić na ring .Nie posiadasz potrzebnej energi minimum to 50 % .</font> ';
  128. }
  129. else echo '<font color=red>Pamiętaj dziennie możesz walczyc tylko raz .Dzisiaj już walczyłeś zapraszamy jutro.</font> ';
  130. ?>
  131.  

I chciałbym zabezpieczyć ten oto kod na początku uzyłem filtrowania ale nie wiem czy to pomoże .
Pyton_000
PDO i bindowanie.
mysql_* jest już dawno nie zalecane więc na wstępie przebuduj to.
programistaarek
dzięki i spoko
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.