Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]ochrona przed sql injection-prosze o pomoc
Forum PHP.pl > Forum > Przedszkole
majka111
Witam

od kilku dni bawie sie w dedektywa i sledzę wszelkie mozliwe rozwiazania ochrony przed sql injection , znalazłem naprawde duzo sposobów ale mam jeden problem próbuje sklecić to wszystko w jedna całość i nie daje rady z powód jest jeden nie jestem programistą php. jakieś drobne improwizacje coś poprawić wstawić to jeszcze dam rade ale wszystkie sugestie jakie znalazłem sa do ludzi ktorzy na tym zjedli zęby i jest dla nich czywiste co gdzie i jak .

teraz o co mi chodzi smile.gif mam skrypt strony www dziurawy jak druszlak jedyne zabezpieczenie jakie ma to jak jest "wyłączony"

próbuje zrobić 2 rzeczy :

obronic go przed sql injection i może jakies filtrowanie w drugiej kolejnosci

na stronie mam 3 miejsca które musze obronić logowanie do PA, dodawanie rekordów do trabeli przez formularz i formularz kontaktowy

Wyczytałem że panel admina to sesje + ciasteczka ale bardziej mi zalezy żeby ochronić same pola wpisu

znalazłem to wiem ze robi duzo dobrego , ale.....

gdzie TO, wstawić czy do pliku odpowiedzialnego za połaczenie z bazą czy do pliku logowania


  1. <?php
  2. // Connect
  3. $link = mysql_connect('host', 'uzytkownik', 'haslo')
  4.  
  5. // Zapytanie
  6. $query = sprintf("SELECT * FROM uzytkownicy WHERE uzytkownik='%s' AND haslo='%s'",
  7. ?>


pytań mam dużo wiecej ale nie chce przesadzać na początek

Pozdrawiam

Mario
CuteOne
sprintf do napisania tego rodzaju zapytania to bezsensowna strata zasobów
  1. <?php
  2. // Connect
  3. $link = mysql_connect('host', 'uzytkownik', 'haslo')
  4.  
  5. $salt = 'dew^&*y2/w2,.'; //wygenerowana sól - o soleniu haseł poczytasz na necie
  6.  
  7. $uzytkownik = mysql_real_escape_string($uzytkownik);
  8. $haslo = sha1($haslo.$salt); // hashuj hasła tak aby w razie utraty danych nie wpadły w niepowołane ręce
  9.  
  10. $query = mysql_query("SELECT haslo FROM uzytkownicy WHERE uzytkownik='$uzytkownik' AND haslo = '$haslo'") or die(mysql_error());
  11.  
  12. if(mysql_num_rows($query)) { // użytkownik istnieje ponieważ mysql zwrócił wynik
  13.  
  14. }
  15. else {
  16.  
  17. echo 'Podane dane dla użytkownika '.htmlspecialchars($uzytkownik).' są nie prawidłowe'; // htmlspecialchars przeciwko atakom typu xss
  18. }
  19. ?>
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.