Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Filtrowanie POST
Zawiej
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.08.2008

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




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'];
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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%.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:59