Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Czy skrypt jest zabezpieczony przed SQLinjection
Forum PHP.pl > Forum > Przedszkole
tomek200
Witam mam pytanie czy ten skrypt jest bezpieczny na działanie SQLinjection?
  1. <?php
  2.  
  3. include('connect.php');
  4.  
  5. $login = $_POST['login'];
  6. $haslo = $_POST['password'];
  7.  
  8. if ( trim($login) != '' && trim($haslo) != '' ){
  9. $zapytanie = mysql_query("SELECT login FROM user WHERE login = '$login'");
  10. $wynik_zapytania = mysql_fetch_array($zapytanie);
  11.  
  12. if ($wynik_zapytania[0] != $login) {
  13. header('Location: admin_login.php?message=user_nie_istnieje');
  14. }else{
  15. $zapytanie = mysql_query("SELECT password, imie, nazwisko FROM user WHERE login = '$login'");
  16. $wynik_zapytania = mysql_fetch_array($zapytanie);
  17.  
  18. if ($haslo == $wynik_zapytania[0]) {
  19.  
  20. $_SESSION['imie'] = $wynik_zapytania[1];
  21. $_SESSION['nazwisko'] = $wynik_zapytania[2];
  22. $_SESSION["logged"] = true;
  23. header('Location: nav.php');
  24.  
  25. }
  26. else{
  27. header('Location: admin_login.php?message=zle_haslo');
  28. }
  29. }
  30. }else{
  31. header('Location: admin_login.php?message=wypełnij_pola_formularza');
  32. }
  33. ?>
ilidir
poczytaj -> http://www.php.pl/Wortal/Artykuly/Bezpiecz...wa-skryptow-PHP
pasman
Cytat(tomek200 @ 17.03.2015, 17:23:18 ) *
Witam mam pytanie czy ten skrypt jest bezpieczny na działanie SQLinjection?


czy umieściłeś tu jakiekolwiek zabezpieczenie ?
coś nie mogę się dopatrzeć...
goartur
Cytat(pasman @ 17.03.2015, 22:00:21 ) *
czy umieściłeś tu jakiekolwiek zabezpieczenie ?
coś nie mogę się dopatrzeć...

Och jak ja lubie takie osoby ( thumbsdownsmileyanim.gif )

Witam,

polecam zrobienie na poczatku jakiegos pliku z funkcjami i podpiecie go pod ten scrypt ("require")

Zrob funkcje, ona powinna cie w miare zabezpieczyc.:
  1. function protect_SQL($string){
  2. return $string;
  3. }


mysql_real_escape powinno wystarczyc lecz na wszelki wypadek dodalem pare innych wbudowanych funkcji.


Nastenie:
  1. $login = function protect_SQL($_POST['login']);
  2. $haslo = function protect_SQL($_POST['password']);


I usun Trim z zapytan IF
tzm
Cytat(goartur @ 18.03.2015, 16:11:03 ) *
scrypt ("require")

Cytat(goartur @ 18.03.2015, 16:11:03 ) *
Och jak ja lubie takie osoby ( thumbsdownsmileyanim.gif )


Cytat
chcesz zmieniać świat zacznij od siebie


chcesz oceniać innych, naucz się pisać.
viking
Zamień całość na PDO z prepared statements i wtedy rozwiążesz problem. Rozszerzenie mysql nie jest już wspierane.
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.