Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Filtrowanie POST
Forum PHP.pl > Forum > Przedszkole
Zawiej
Witam od jakiegoś czasu edytuję silnik gry teraz przyszedł czas na porobienie "zabezpieczeń". Zrobiłem to w ten sposób:

  1. <?php
  2. include('gora.php');
  3.  
  4. $wbanku = mysql_fetch_array(mysql_query("SELECT bank FROM users WHERE user='$user' "));
  5. $row = mysql_fetch_array(mysql_query("SELECT kasa FROM users WHERE user='$user' "));
  6.  
  7.  
  8. if(isSet($_POST['wloz']) || isSet($_POST['wyjmij'])){
  9.    if(isSet($_POST['wloz'])){
  10.        if($_POST['wloz'] < 0){
  11.            $kara = mysql_query("UPDATE users SET kasa=0 WHERE user='$user' ");
  12.            echo "Wykorzystywanie błędów w kodzie jest zabronione. Za karę musisz zapłącić tyle kasy ile masz obecnie.";
  13.        }
  14.  
  15.        else{
  16.  
  17. $_POST['wloz']=str_replace('=','0',$_POST['wloz']);
  18. $_POST['wloz']=str_replace('<','0',$_POST['wloz']);
  19. $_POST['wloz']=str_replace('>','0',$_POST['wloz']);
  20. $_POST['wloz']=str_replace('&','0',$_POST['wloz']);
  21. $_POST['wloz']=str_replace('(','0',$_POST['wloz']);
  22. $_POST['wloz']=str_replace(')','0',$_POST['wloz']);
  23. $_POST['wloz']=str_replace('/','0',$_POST['wloz']);
  24. $_POST['wloz']=str_replace('','0',$_POST['wloz']);
  25. $_POST['wloz']=str_replace('%','0',$_POST['wloz']);
  26. $_POST['wloz']=str_replace('-','0',$_POST['wloz']);
  27. $_POST['wloz']=str_replace('+','0',$_POST['wloz']);
  28.                $_POST['wloz'] = addslashes(mysql_real_escape_string($_POST['wloz']));
  29.        if($row[0] >= $_POST['wloz']){
  30.            $jest = mysql_fetch_array(mysql_query("SELECT bank FROM users WHERE user='$user' "));
  31.            $jest2 = $jest[0];
  32.            $wloz = $_POST['wloz'];
  33.            $wloz2 = $wloz + $jest2;
  34.            $wloz3 = mysql_query("UPDATE users SET bank='$wloz2' WHERE user='$user' ");
  35.            $zabierz = $row[0] - $wloz;
  36.            $zabierz2 = mysql_query("UPDATE users SET kasa='$zabierz' WHERE user='$user' ");
  37.            echo "Dziękujemy. Napewno nie pożałujesz, że zostawiłeś tu pieniądze." . " <a href=\"bank.php\">powrót</a>";
  38.        }
  39.        else{
  40.         echo "Nie masz tyle kasy! " . " <a href=\"bank.php\">powrót</a>";
  41.        }
  42.        }
  43.    }
  44.    
  45.    else if(isSet($_POST['wyjmij'])){
  46. $_POST['wyjmij']=str_replace('=','0',$_POST['wyjmij']);
  47. $_POST['wyjmij']=str_replace('<','0',$_POST['wyjmij']);
  48. $_POST['wyjmij']=str_replace('>','0',$_POST['wyjmij']);
  49. $_POST['wyjmij']=str_replace('&','0',$_POST['wyjmij']);
  50. $_POST['wyjmij']=str_replace('(','0',$_POST['wyjmij']);
  51. $_POST['wyjmij']=str_replace(')','0',$_POST['wyjmij']);
  52. $_POST['wyjmij']=str_replace('/','0',$_POST['wyjmij']);
  53. $_POST['wyjmij']=str_replace('&#092;','0',$_POST['wyjmij']);
  54. $_POST['wyjmij']=str_replace('-','0',$_POST['wyjmij']);
  55. $_POST['wyjmij']=str_replace('+','0',$_POST['wyjmij']);
  56. $_POST['wyjmij']=str_replace('%','0',$_POST['wyjmij']);
  57.        $_POST['wyjmij'] = addslashes(mysql_real_escape_string($_POST['wyjmij']));
  58.        if($wbanku[0] >= $_POST['wyjmij']){
  59.            $wyjmij = $wbanku[0];
  60.            $wyjmij2 = $_POST['wyjmij'];
  61.            $wyjmij3 = $wyjmij - $wyjmij2;
  62.            $wyjmij4 = mysql_query("UPDATE users SET bank='$wyjmij3' WHERE user='$user' ");
  63.            $wyjmij5 = $row[0];
  64.            $wyjmij6 = $wyjmij5 + $wyjmij2;
  65.            $wyjmij7 = mysql_query("UPDATE users SET kasa='$wyjmij6' WHERE user='$user' ");
  66.            echo "Prosze bardzo oto twoje pieniądze." . " <a href=\"bank.php\">powrót</a>";
  67.        }
  68.        else{
  69.            echo "Nie mamy aż tylu twoich pieniędzy!" . " <a href=\"bank.php\">powrót</a>";
  70.        }
  71.    }
  72. }
  73. else{
  74. ?>
  75.  
  76. <table>
  77.    <tr>
  78.        <td><img src="images/bank.jpg"></td>
  79.        <td valign="top">Witam Cię! Są tylko dwa powody dlaczego mogłeś tu trafić. Możesz chcieć wyjąć pieniądze które tu zostawiłeś lub zostawić nam jakieś pod opiekę. Niestety nie mogę Ci zaproponować żadnego procentu ale mogę obiecać, że pieniądze które u nas zostawisz napewno nie zginą a warto mieć zawsze trochę gotówki np na paliwo lub izbę wytrzeĽwień. W chwili obecnej masz u nas <?php echo $wbanku[0] . ' zł'; ?></td>
  80.    </tr>
  81. </table><br><br>
  82. <form action="bank.php" method="post">
  83. <table>
  84.    <tr>
  85.        <td valign="middle">Włóż</td>
  86.        <td valign="middle"><input type="text" name="wloz"><input type="submit" VALUE="Włóż"></td>
  87.    </tr>
  88. </form>
  89. <form action="bank.php" method="post">
  90.    <tr>
  91.        <td valign="middle">Wyjmij</td>
  92.        <td valign="middle"><input type="text" name="wyjmij"><input type="submit" VALUE="Wyjmij"></td>
  93.    </tr>
  94. </table>
  95. </form>
  96.  
  97. <?php
  98. }
  99. include('dol.php');
  100. ?>


Czy to dobry sposób na zabezpieczenie ?
Spawnm
nie widzę blokowania ' i "
zobacz mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual

jeśli pobierasz dane tylko do działań matematycznych to odbieraj je np.
$z=(int)$_POST['cos'];
Fifi209
Cytat(Spawnm @ 13.07.2009, 11:32:14 ) *
nie widzę blokowania ' i "
zobacz mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual

jeśli pobierasz dane tylko do działań matematycznych to odbieraj je np.
$z=(int)$_POST['cos'];


  1. <?php
  2. $_POST['wyjmij'] = addslashes(mysql_real_escape_string($_POST['wyjmij']));
  3. ?>


Co do rzutowania na int, zgodzę się w 100%.
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.