Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skorygowanie skryptu pod wzgl. zabezpieczeń
Forum PHP.pl > Forum > Przedszkole
Asig
Witam!

Mam taki problem, gdyż na mojej stronie mam dziwnie w bazie namieszane (np. ilość użytych kodów zamiast 100 jest 1000 w bazie itemshop_uzyte_kody) i pewna osoba miała niemożliwą liczbę wirtualnych punktów.

Prosiłbym o skorygowanie mojego skryptu do aktywowania kodów:

  1. <form action="#" method="post">
  2. Kod Zwrotny: <input class="text" type="text" name="kod">
  3. <input name="aktywuj" class="submit" type="submit" value="Aktywuj.">
  4. </form>


  1. if(isset($_POST['aktywuj'])) {
  2. $_POST['kod'] = mysql_real_escape_string(htmlspecialchars($_POST['kod']));
  3. $kody_query = mysql_query("SELECT * FROM $baza_strony.itemshop_kody WHERE kod_doladowania='$_POST[kod]'");
  4. if(mysql_num_rows($kody_query) > 0) {
  5. $kody = mysql_fetch_array($kody_query);
  6. if($kody['status'] == 0) {
  7. mysql_query("UPDATE $baza_strony.itemshop_kody SET `data`='".date('Y-m-d H:i:s')."', `uzyl_userid`='$dane[id]', `uzyl_ip`='".ip()."', `status`='1' WHERE kod_doladowania='$_POST[kod]'");
  8. mysql_query("UPDATE $baza_strony.itemshop_uzyte_kody SET uzyto=uzyto+1 WHERE konto='$kody[konto]' AND nazwa LIKE '$kody[usluga]'");
  9. mysql_query("UPDATE $baza_account.account SET is_monety=is_monety+$kody[ilosc_waluty] WHERE id='$dane[id]'");
  10. if(mysql_num_rows(mysql_query("SELECT * FROM $baza_strony.itemshop_daty WHERE data='".date('Y')."'")) == 0) {
  11. mysql_query("INSERT INTO $baza_strony.itemshop_daty (`data`) VALUES ('".date('Y')."')");
  12. }
  13. if(mysql_num_rows(mysql_query("SELECT * FROM $baza_strony.itemshop_daty WHERE data='".date('Y-m')."'")) == 0) {
  14. mysql_query("INSERT INTO $baza_strony.itemshop_daty (`data`) VALUES ('".date('Y-m')."')");
  15. }
  16. if(mysql_num_rows(mysql_query("SELECT * FROM $baza_strony.itemshop_daty WHERE data='".date('Y-m-d')."'")) == 0) {
  17. mysql_query("INSERT INTO $baza_strony.itemshop_daty (`data`) VALUES ('".date('Y-m-d')."')");
  18. }
  19.  
  20. echo'<script>alert("Kod został aktywowany pomyślnie, twoje konto zostało doładowane!"); history.back();</script>';
  21. } else {
  22. echo'<script>alert("Ten kod był już użyty!"); history.back();</script>';
  23. }
  24. } else {
  25. echo'<script>alert("Kod Zwrotny który podałeś, jest nieprawidłowy!"); history.back();</script>';
  26. }
  27. }


Czy jest tutaj jakiś błąd, albo złe zabezpieczenie?

Dziękuję z góry,
Pozdrawiam!
IProSoft
Dodaj zabezpieczenie czasowe, np po 5 niepoprawnych kodach, user musi odczekać 10 minut zanim będzie mógł sprawdzić kolejny.
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.