Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Siła hasła ?!, Czy takie rozwiązanie to dobry pomysł?
rocichy
post 9.11.2010, 09:26:08
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 8.10.2010

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


Witam!!!
Chcem zrobić skrypt który bedzie mierzył siłe/moc hasła wpisanego przez użytkownika do formularza. Troche szukałem najpier w google znalazlem kilka skryptów które były robione na AJAX-sie. I tu pytanie czy przesyłanie hasła kilka razy na serwer w celu sprawdzenia mocy jest bezpieczne? Może lepszym rozwiazaniem bedzie zrobienie to poprostu w JS?

p.s. tak przy okazji może ma ktos jakieś kryteria do oceny siły hasła?

w php takie coś znalazłem
  1. if (preg_match('#([0-9]+)#',$haslo) || preg_match('#([a-zA-Z]+)#',$haslo)) {
  2. $poziom=2;
  3. }elseif (strlen($haslo)>=8 && preg_match('#([a-zA-Z0-9]+)#',$haslo)) {
  4. $poziom=3;
  5. }elseif (strlen($haslo)>=8 && preg_match('#([a-z0-9]+)#',$haslo) && preg_match('#([A-Z]+)#',$haslo) && preg_match('#([@?!?$?_?*?])#',$haslo)) {
  6. $poziom=4;
  7. }elseif (strlen($haslo)>=12 && preg_match('#([a-z0-9]+)#',$haslo) && preg_match('#([A-Z]+)#',$haslo) && preg_match('#[@+!+$+_+*+]#',$haslo)) {
  8. $poziom=5;
  9. }
  10.  
Go to the top of the page
+Quote Post
luki100011
post 9.11.2010, 09:54:56
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

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


sprawdzaj w JS na stronie,
jak użytkownik prześle hasło na serwer sprawdź je ponownie już w php - na wypadek jakby była JS wyłączone w przeglądarce


--------------------
Go to the top of the page
+Quote Post
rocichy
post 9.11.2010, 10:34:59
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 8.10.2010

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


Cytat(luki100011 @ 9.11.2010, 09:54:56 ) *
sprawdzaj w JS na stronie,
jak użytkownik prześle hasło na serwer sprawdź je ponownie już w php - na wypadek jakby była JS wyłączone w przeglądarce

Dzieki za odpowiedz tylko nie bardzo wiem co bym mial juz w php-ie sprawdzac smile.gif jedynie co zeby pole nie bylo puste. Ten modół ma byc tylko pomocny przy tworzenuu hasła przez uzytkownika.
Go to the top of the page
+Quote Post
luki100011
post 9.11.2010, 11:29:26
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

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


jak to co questionmark.gif czy jest to silne hasło, jak ktoś nie ma aktywnej JS to wpisze hasło 123 i też będzie ok


--------------------
Go to the top of the page
+Quote Post
Pawel_W
post 9.11.2010, 14:00:28
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat(rocichy @ 9.11.2010, 09:26:08 ) *
w php takie coś znalazłem
  1. if (preg_match('#([0-9]+)#',$haslo) || preg_match('#([a-zA-Z]+)#',$haslo)) {
  2. $poziom=2;
  3. }elseif (strlen($haslo)>=8 && preg_match('#([a-zA-Z0-9]+)#',$haslo)) {
  4. $poziom=3;
  5. }elseif (strlen($haslo)>=8 && preg_match('#([a-z0-9]+)#',$haslo) && preg_match('#([A-Z]+)#',$haslo) && preg_match('#([@?!?$?_?*?])#',$haslo)) {
  6. $poziom=4;
  7. }elseif (strlen($haslo)>=12 && preg_match('#([a-z0-9]+)#',$haslo) && preg_match('#([A-Z]+)#',$haslo) && preg_match('#[@+!+$+_+*+]#',$haslo)) {
  8. $poziom=5;
  9. }
  10.  

nie wiem, skąd wytrzasnąłeś ten kod, ale z logicznego punktu widzenia wywali zawsze albo $poziom = 2 albo nic...
Go to the top of the page
+Quote Post
thomson89
post 9.11.2010, 16:13:10
Post #6





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Myślę, że najlepiej dać po długości hasła i tylko "maksymalny" poziom dać (i tylko przy nim sprawdzać) jeżeli ma w sobie jakąś cyfrę, literkę dużą, małą.


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
moto0095
post 9.11.2010, 16:33:53
Post #7





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Wypróbuj to(nie jest to mój skrypt) :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  2. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" >
  4. <meta http-equiv="content-language" content="en" />
  5. <title>Password strength meter example</title>
  6.  
  7.  
  8. #passwordStrength
  9. {
  10. height: 20px;
  11. display:block;
  12. float:left;
  13. }
  14.  
  15. .strength0
  16. {
  17. width:250px;
  18. background:#cccccc;
  19. }
  20.  
  21. .strength1
  22. {
  23. width:50px;
  24. background:#ff0000;
  25. }
  26.  
  27. .strength2
  28. {
  29. width:100px;
  30. background:#ff5f5f;
  31. }
  32.  
  33. .strength3
  34. {
  35. width:150px;
  36. background:#56e500;
  37. }
  38.  
  39. .strength4
  40. {
  41. background:#4dcd00;
  42. width:200px;
  43. }
  44.  
  45. .strength5
  46. {
  47. background:#399800;
  48. width:250px;
  49. }
  50.  
  51.  
  52. function passwordStrength(password)
  53. {
  54. var desc = new Array();
  55. desc[0] = "Bardzo słabe";
  56. desc[1] = "Słabe";
  57. desc[2] = "Takie sobie";
  58. desc[3] = "Dobre";
  59. desc[4] = "Mocne";
  60. desc[5] = "Bardzo mocne";
  61.  
  62. var score = 0;
  63.  
  64. if (password.length > 6) score++;
  65.  
  66. if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++;
  67.  
  68. if (password.match(/\d+/)) score++;
  69.  
  70. if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) ) score++;
  71.  
  72. if (password.length > 8) score++;
  73.  
  74. document.getElementById("passwordDescription").innerHTML = desc[score];
  75. document.getElementById("passwordStrength").className = "strength" + score;
  76. }
  77. </head>
  78.  
  79. <form method="post" action="" id="user_registration" name="user_registration">
  80.  
  81. <input type="password" name="pass" id="pass" onkeyup="passwordStrength(this.value)"/>
  82. <br>
  83.  
  84. <div id="passwordStrength" class="strength0">
  85. <div id="passwordDescription">Podaj Hasło</div>
  86. </div>
  87. </form>
  88. </body>
  89. </html>
Go to the top of the page
+Quote Post
rocichy
post 10.11.2010, 09:17:41
Post #8





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 8.10.2010

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


Co do tego kodu PHP jaki wkleiłem to znalazłem go w internecie nawet go nie sprawdzałem za co przepraszam.

Problem rozwiązałem w JS, schemat podobny do tego co wkleił kolega moto0095 tylko troszke więcej warunków.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 03:47