Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [dyskusja] Filtrowanie hasła
Forum PHP.pl > Forum > PHP
Athlan
Od kilku dni dręczy mnie myśl, że teoretycznie hasła, które jest kodowane na bieżąco w ten sposób, nie trzeba filtrować:

  1. <?php
  2.  
  3. $password = "jakaś-wartosc-md5"; //haslo, ktore trzeba podac
  4.  
  5. if($_POST['pass'])
  6. {
  7. if(md5($_POST['pass']) == $password)
  8. {
  9. return 1;
  10. }
  11. else
  12. {
  13. return 0;
  14. }
  15. }
  16. else
  17. {
  18. echo'<form action="'.$_SERVER['PHP_SELF'].'"><input type="password" name="pass"><input type="submit" value="Loguj"></form>';
  19. }
  20.  
  21. ?>


Moim zdaniem zmienna $_POST['pass'] nie powinna przechodzić filtrów typu htmlspecialchars(), czy addslashes(), bo po co, skoro jest porównywana w md5() i nie jest wyświetlana na stronie?

Inaczej, gdybyśmy wyświetlili tą wartość na stronie, wtedy filtry są zalecane (wymagane w sumie).

Co Wy na ten temat sądzicie?
sf
Gratuluje dojscia do tak wspanialnego wniosku tongue.gif

Przy okazji chcialbym Ci powiedziec, ze jesli uzywasz PDO to w ogole juz prawie nic nie musisz filtrowac winksmiley.jpg
dr_bonzo
Cytat
Moim zdaniem zmienna $_POST['pass'] nie powinna przechodzić filtrów typu htmlspecialchars(), czy addslashes()

Na WEJSCIU zadna zmienna nie powinna byc traktowana tymi funkcjami -- addslashes() jest nieodpowiednie przy dodawaniu danych do bazy -- uzyj mysql_real_escape czy podobnych.
htmlspecialchars -- uzywasz przy wypisywaniu danych do przegladarki (np. zeby wypisac kod html -- tak jak tutaj na forum)


Cytat
Przy okazji chcialbym Ci powiedziec, ze jesli uzywasz PDO to w ogole juz prawie nic nie musisz filtrowac winksmiley.jpg

$stmt->bindPAram( 'name', $value, PDO::ATTR_STR );
to chyba *jest* filtrowanie smile.gif tyle ze funkcje filtrujace sa juz napisane
Athlan
Cytat(sf @ 2006-05-18 09:15:31)
Gratuluje dojscia do tak wspanialnego wniosku tongue.gif

Wszyscy mi trują że mam filtrować, no ale jak widać na powyższym przykładnie - NIE TRZEBA (chyba), ale czy to jest do złamania (przez potencjalnego hakera) jak coś namiesza ze slaschami ?

Pamiętam jak w phpBB było coś takiego w bbcode, dało się co nieco wtrzyknąć (ale nie wiem, czy ma to jakikolwiek związek z owym topickiem)

P.S. może dodam: nie odwołuje się w tym przypadku do bazy danych, tylko do zmiennej z konfigu, przy bazie danych filter byłby wskazany smile.gif
Vogel
nie boj sie. tutaj nic nie wszczyknie.
dr_bonzo
Cytat
Wszyscy mi trują że mam filtrować, no ale jak widać na powyższym przykładnie - NIE TRZEBA

No bo trzeba -- tylko nie w taki sposob jak opisales (htmlspecialhchars + addslashes).
Jest topic o SQL Injection na forum.
Athlan
Cytat(Vogel @ 2006-05-18 09:28:51)
nie boj sie. tutaj nic nie wszczyknie.

No tak... a teraz zakaładamy, że hasło jest w bazie... ewentualnie zapisujemy zle logowania i hasła, jakie użytkownik podał, używamy filtru (funkcji) mysql_real_escape() , teraz haker może nam coś zepsuć w bazie danych?
em1X
Wychodź z założenia, że każda linijka danych pobieranych od użytkownika jest zagrożeniem - a nie będziesz miał problemów z bezpieczeństwem...

Jak to mówią w RUPie: atakuj ryzyko, zanim ryzyko zaatakuje Ciebie biggrin.gif
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.