• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zabezpieczenie skryptu logowania.

Object Storage Arubacloud
0 głosów
313 wizyt
pytanie zadane 25 stycznia 2017 w PHP przez nielotweb Bywalec (2,240 p.)

Robię skrypt logowania, i mam szybkie pytanko. Otóż czy takie combo zabezpieczeń jakie napisałem jest w ogóle dobre? W sense czy wszystko poprawnie będzie 'zabezpieczać' ? Czy wystarczy jakbym samo bindowanie zostawił?

Z góry dziękuję! 

if(!empty($_POST['nickname']) && !empty($_POST['password'])) {

  $nickname = htmlspecialchars(trim($_POST['nickname']));
  $nickname = mysql_real_escape_string(htmlentities($nickname, ENT_QUOTES, "UTF-8"));
  $password = htmlspecialchars(trim($_POST['password']));
  $password = mysql_real_escape_string(htmlentities($password, ENT_QUOTES, "UTF-8"));

  $sqlSTM = $pdo->prepare("SELECT * FROM users WHERE nickname = :nickname");
  $sqlSTM->bindParam(':nickname', $nickname, PDO::PARAM_STR);
  $sqlSTM->execute();
  $results = $sqlSTM->fetch(PDO::FETCH_ASSOC);

  if( count($results) > 0 ) {

     if( $results['nickname'] == $nickname && password_verify($password, $results['password']) ) {

      die('Zalogowales sie!');

    } else {

      die('Podales zle dane logowania!');

    }
  }
}

 

1 odpowiedź

+3 głosów
odpowiedź 25 stycznia 2017 przez Arkadiusz Waluk Ekspert (288,330 p.)
wybrane 25 stycznia 2017 przez nielotweb
 
Najlepsza
Jeśli już wykorzystujesz bindowanie to nie potrzebujesz funkcji zabezpieczających typu mysql_real_escape_string. Samo w sobie bindowanie jest zabezpieczeniem bo zapytanie do bazy idzie osobno, a osobno podstawiane są wartości - nie ma więc możliwości wykonania ataku sql injection.

No i poza tym od PHP 7 funkcje zaczynające się od mysql_ już nie istnieją, więc tym bardziej nie powinieneś w ogóle ich używać.
komentarz 25 stycznia 2017 przez nielotweb Bywalec (2,240 p.)
Okej, rozumiem. Czyli zostawię tylko bindowanie :)

Dziękuję za odpowiedź!

Podobne pytania

+1 głos
2 odpowiedzi 149 wizyt
pytanie zadane 27 listopada 2023 w PHP przez Jcob2222 Początkujący (480 p.)
0 głosów
2 odpowiedzi 527 wizyt
pytanie zadane 9 października 2017 w PHP przez Maciejunio Początkujący (430 p.)
–1 głos
1 odpowiedź 513 wizyt
pytanie zadane 13 lutego 2019 w PHP przez Greeenone Pasjonat (16,100 p.)

92,666 zapytań

141,564 odpowiedzi

320,020 komentarzy

62,032 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...