Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zabezpieczenie formularza
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam czy dobrze zabezpieczyłem ten formularz przed SQL inec.?

  1. ';
  2. // odbieramy dane z formularza
  3. $nick = $_POST['nick'];
  4. $email = $_POST['email'];
  5. $haslo = $_POST['haslo'];
  6. $kodsms = $_POST['kodsms'];
  7. $gg = $_POST['gg'];
  8. $ip = $_SERVER['REMOTE_ADDR'];
  9. $date = strtotime("now");
  10. $data_zak = strtotime('+ 30 days');
  11. mysql_real_escape_string($nick);
  12. mysql_real_escape_string($email);
  13. mysql_real_escape_string($haslo);
  14. mysql_real_escape_string($gg);
  15. mysql_real_escape_string($kodsms);
  16. if($nick & $email & $haslo & $kodsms) {
  17.  
  18. $connection = @mysql_connect('-------------')
  19. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  20. $db = @mysql_select_db('xxx', $connection)
  21. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  22. $ins = @mysql_query("INSERT INTO sklep SET nick='$nick', email='$email', haslo='$haslo', gg='$gg', ip='$ip', data_aktualna='$date', data_zakonczenia='$data_zak', aktywne='0', kodsms='$kodsms'");
  23. echo 'Twoje konto zostało dodane.<br> Administrator musi je zaakceptować. Możesz wysłać,<br> nick i dane z tego formularza na adres e-mail: kontakt[malpa]xxdrago.pl';
  24. }
  25. }
gorden
zamiast:
  1. $zmienna = $_POST['zmienna'];



chyba raczej:
  1. $zmienna = mysql_real_escape_string($_POST['zmienna']);
xxdrago
Co moge tutaj jeszcze zabezpieczyć?

  1. echo '
  2. <table border="0" cellpadding="2" cellspacing="1" width="100%" class="forumline">
  3. <tr>
  4. <th class="thHead" colspan="2" height="25" valign="middle">Krok 4 - Realizacja zamowienia</th>
  5. </tr>
  6. </table>
  7. ';
  8. // odbieramy dane z formularza
  9. $nick = mysql_real_escape_string($_POST['nick']);
  10. $email = mysql_real_escape_string($_POST['email']);
  11. $haslo = mysql_real_escape_string($_POST['haslo']);
  12. $gg = mysql_real_escape_string($_POST['gg']);
  13. $kodsms = mysql_real_escape_string($_POST['kodsms']);
  14. $ip = $_SERVER['REMOTE_ADDR'];
  15. $date = strtotime("now");
  16. $data_zak = strtotime('+ 30 days');
  17.  
  18. if($nick & $email & $haslo & $kodsms) {
  19.  
  20. $connection = @mysql_connect('xxx')
  21. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  22. $db = @mysql_select_db('xxx', $connection)
  23. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  24. $ins = @mysql_query("INSERT INTO sklep SET nick='$nick', email='$email', haslo='$haslo', gg='$gg', ip='$ip', data_aktualna='$date', data_zakonczenia='$data_zak', aktywne='0', kodsms='$kodsms'");
  25. echo 'Twoje konto zostało dodane.<br> Administrator musi je zaakceptować. Możesz wysłać,<br> nick i dane z tego formularza na adres e-mail: kontakt[malpa]xxdrago.pl';
  26. }
  27. }
  28. ?>
Arhimenrius
Ja bym osobiście walnął jeszcze TRIM na wszystkie zmienne. Może to nie zabezpieczenie, ale wszystkie białe znaki z początki i końca pokasujesz.
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.