Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Czy to jest bezpieczne
Forum PHP.pl > Forum > PHP
swine
Witam Czy ten napisany prze zemnie kod jest jako tako bezpieczny. Gdyż naprawdę nie wiem tego jako żem nowy w php
Celem tego skryptu jest dodawanie punktów użytkownikowi i % z tych punktów użytkownikowi co go Naprowadził na stronę jeśli byście to rozwiazali inaczej Dziękować za propozycję.

ps.
A i jak byście byli łaskawi zajrzeć to wyskakuje cały czas błąd Parse error: syntax error, unexpected $end
a ja chyba jestem ślepy bo nie mogę wypatrzeć żadnej literówki czy }. Proszę o pomoc!

  1. <?php
  2.  
  3.  
  4. require_once ('includes/config.inc.php');
  5. $page_title = 'Punkty';
  6. include ('includes/header.html');
  7.  
  8. if (isset($_POST['submitted'])) {
  9.  
  10. require_once (MYSQL);
  11.  
  12. // trim wszystkiego wpisywanego
  13. $trimmed = array_map('trim', $_POST);
  14.  
  15.  
  16. $id = $punkt = FALSE;
  17.  
  18. // sprawdza: id
  19. if (preg_match ('0123456789', $trimmed['user_id'])) {
  20. $id = mysqli_real_escape_string ($dbc, $trimmed['user_id']);
  21. } else {
  22. echo '<p class="error">Podaj ID!</p>';
  23. }
  24.  
  25.  
  26. // sprawdza punkty
  27. if (preg_match ('0123456789', $trimmed['punkt'])) {
  28. $punkt = mysqli_real_escape_string ($dbc, $trimmed['punkt']);
  29. } else {
  30. echo '<p class="error">Wpisz liczbe punktów!</p>';
  31. }
  32.  
  33.  
  34. if ($id && $punkt) { // jesli wzsystko jest ok
  35.  
  36. function punkty($id,$punkt)
  37. {
  38. $n = 20; //procent punktu dla polecajacego na 1 poziomie np. 20%
  39. $i = 0; //zmienna pomocnicza
  40. $x = 5; //o ile procent mniej ma dostać następny poziom, od 20% odejmie 5% to daje dla n=15%
  41. $sql = "UPDATE users3 SET punkt = (punkt + $punkt) WHERE user_id = $id";
  42. //zapis powyzej powoduje ze do istniejsacych w bazie danych punktow dodajemy nastepne
  43. mysql_query($sql) or die ("<span>Brak polączenia</span>");
  44. while($id > 0 && $i < 3)
  45. {
  46. $sql = "SELECT id_pol FROM users3 WHERE user_id = $id";
  47. $res = mysql_query($sql) or die ("<span>Brak polączenia</span>");
  48. $row = mysql_fetch_array($res);
  49. $tmp_punkt = $punkt * ($n / 100); //obliczamy ile punktow ma dostac polecajacy
  50. $id_polecajacego = $row['id_pol'];
  51. $sql = "UPDATE users3 SET punkt = (punkt + $tmp_punkt) WHERE id = $id_polecajacego";
  52. mysql_query($sql) or die ("<span>Brak polączenia</span>");
  53. $id = $id_polecajacego;
  54. $n = $n - $x; //odejmujemy procenty na nastepny poziom
  55. $i++; //zmienna rosnie aby wyjsc z petli
  56. }
  57. }
  58.  
  59. mysqli_close($dbc);
  60.  
  61. } // koniec głownego warunku .
  62. ?>
  63.  
  64.  
  65.  
  66. <form action="test33.php" method="post">
  67. <fieldset>
  68. <table>
  69. <tr>
  70. <td><p><b>ID :</b></td><td> <input type="text" name="id" size="5" maxlength="1000" value="<?php if (isset($trimmed['user_id'])) echo $trimmed['user_id']; ?>" /> </p></td>
  71. <td><p><b>Punkty:</b></td><td> <input type="text" name="punkt" size="20" maxlength="20" value="<?php if (isset($trimmed['punkt'])) echo $trimmed['punkt']; ?>" /></p></td>
  72.  
  73. }}}
  74.  
  75.  
  76. <td><div ><input type="submit" name="submit" value="Zarejestruj" /></div></td></tr></table>
  77. <input type="hidden" name="submitted" value="TRUE" />
  78.  
  79. </form>
  80.  
  81.  
  82.  
  83.  
  84. <?php // Include the HTML footer.
  85. include ('includes/footer.html'); ?>


Andaramuxo
Co do bezpieczeństwa to się to wypowiem, bo się jeszcze dobrze nie znam, a co do syntax error to sprawdź pierwszego if`a, zainstaluj sobie np. Notepad 2 i byś łatwo znalazł.
seth-kk
Cytat
preg_match ('0123456789', $trimmed['user_id'])

co to jest?
swine
No jak dobrze zrozumiałem powinny przechodzić tylko te znaki ale moja nie wiedze jest duża biggrin.gif

Cytat(seth-kk @ 19.09.2009, 20:59:10 ) *
co to jest?


Ale obrazu mowie że tam błąd składni jest prawie na 100% biggrin.gif
erix
Cytat
A i jak byście byli łaskawi zajrzeć to wyskakuje cały czas błąd Parse error: syntax error, unexpected $end
a ja chyba jestem ślepy bo nie mogę wypatrzeć żadnej literówki czy }.

Kpisz.

Jest wątek dotyczący bezpieczeństwa skryptów.
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.