Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie hasła preg_match()
xeveot
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 17.03.2008

Ostrzeżenie: (0%)
-----


Witam

Ma ktoś może jakiś sprawdzony sposób na sprawdzenie hasła pod warunkiem że zawiera:
- małą literę
- wielką literę
- cyfrę od 0 do 9
- znak specjalny

Gdzieś czytałem że można użyć w wyrażeniu znak "?=" ale nie wiem zbytnio jak go zastosować.
Dziękuje i pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gsk
post
Post #2





Grupa: Zarejestrowani
Postów: 129
Pomógł: 4
Dołączył: 21.02.2004
Skąd: z domu

Ostrzeżenie: (0%)
-----


  1. function haslo($haslo, $dlugosc, $minDuze, $minMale, $minLiczby, $minZnaki) {
  2. $minMaleLicz = 0;
  3. $minDuzeLicz = 0;
  4. $minLiczbyLicz = 0;
  5. $minZnakiLicz = 0;
  6. $haslo = iconv('UTF-8', 'ISO-8859-2', $haslo);
  7. for ($i = 0; $i < strlen($haslo); $i++) {
  8. $h = ord($haslo[$i]);
  9. //malelitery i polskie duze litery
  10. if(($h>96 && $h < 123) || $h==177 || $h==230 || $h==234 || $h==179 || $h==241 || $h==243 || $h==182 || $h==188 || $h==191) $minMaleLicz++;
  11. //duzelitery i polskie duze litery
  12. elseif (($h>64 && $h < 91) || $h==161 || $h==198 || $h==202 || $h==163 || $h==209 || $h==211 || $h==166 || $h==172 || $h==175) $minDuzeLicz++;
  13. //liczby
  14. elseif($h > 47 && $h < 58) $minLiczbyLicz++;
  15. //znaki
  16. elseif(preg_match('/[!@#$%^&*()-+_{}|:";\',.\/<>?\[\]\=]/', $haslo[$i])) $minZnakiLicz++;
  17. }
  18. if (strlen($haslo) < $dlugosc || $minMaleLicz < $minMale || $minDuzeLicz < $minDuze || $minLiczbyLicz < $minLiczby || $minZnakiLicz < $minZnaki)
  19. return false;
  20. else
  21. return true;
  22. }
  23.  
  24.  
  25. echo haslo('ĄĆŹml;†sds343aa12!@', 10, 2, 2, 2, 2);


Kiedys takie cos napisalem... Prosta funkcja zwracajaca true w przypadku, gdy haslo spelnia warunki lub false jezeli nie.

Ten post edytował gsk 24.11.2010, 22:05:10
Go to the top of the page
+Quote Post

Posty w temacie
- xeveot   [PHP]Sprawdzanie hasła preg_match()   24.03.2009, 20:09:59
- - 230005   [a-z0-9]/i <- to i na końcu oznacza, że wyrażen...   24.03.2009, 20:19:23
- - xeveot   a takie wyrażenie jest prawidłowe? [PHP] pobierz...   24.03.2009, 22:43:21
- - 230005   Wow Po co aż tak komplikować? To powinno być popr...   24.03.2009, 23:04:15
- - xeveot   EDIT: Sorry działa, dziękuje bardzo   25.03.2009, 06:44:24
- - Brick   Szukałem odpowiedzi na bardzo podobne pytanie i zn...   22.05.2009, 08:16:40
- - Conrado81   Ja również szukałem odpowiedzi na bardzo podobne p...   17.04.2010, 19:59:19
- - Brick   Ale w ogóle sprawdziłeś to? To zupełnie nie działa...   28.04.2010, 12:28:21
- - unloco   Mógłby ktoś objaśnić wyrażenie [PHP] pobierz, pla...   19.08.2010, 19:30:44
|- - MatBlo   Chciałbym odświeżyć temat, wyrażenie podane przez ...   24.11.2010, 10:30:29
- - Brick   CytatRozumiem, że hasło może składać się z:... Nie...   11.09.2010, 22:15:08
- - everth   Jak chcesz mniej więcej złapać jak budować RegExy,...   11.09.2010, 22:24:53
- - kiler129   Jedna uwaga - a-z nie obejmuje polskich ogonków. J...   24.11.2010, 11:42:45
- - MatBlo   Tak wiem wystarczy zamiast A-Z wpisać A-Ż, ale nie...   24.11.2010, 11:48:31
- - Brick   Działa dla min. 8 znaków, ale nie ma sprawdzania c...   24.11.2010, 21:59:42
- - gsk   [PHP] pobierz, plaintext function haslo($haslo...   24.11.2010, 22:02:20
- - Brick   Tą "prostą funkcję" można zastąpić jedną...   25.11.2010, 19:16:27
|- - id4   Cytat(Brick @ 25.11.2010, 20:16:27 ) ...   24.06.2014, 11:54:02
- - Brick   CytatMa ktoś może takie, które wymaga: - małej lit...   24.06.2014, 14:44:09
|- - id4   Cytat(Brick @ 24.06.2014, 15:44:09 ) ...   24.06.2014, 16:05:12
- - Brick   No i ok, sam wymyśliłeś zanim zdążyłem odpisać. N...   26.06.2014, 08:20:56
- - szajens   A czy do filtrowania hasła nie można by używać pop...   28.06.2014, 18:29:49
- - sazian   zamień [0-9!@#$%^&*()_+|-] na [...   29.06.2014, 11:56:35
- - Brick   CytatA czy do filtrowania hasła nie można by używa...   30.06.2014, 15:26:42
- - szajens   Cytat(Brick @ 30.06.2014, 16:26:42 ) ...   30.06.2014, 17:24:01


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 05:59