Wyrażenie regularne w PHP

Odpowiedz Nowy wątek
bartolomeusz
2006-04-23 21:23
bartolomeusz
0

Witam.Jeśli ktoś mógłby mi w tym pomóc byłbym wdzięczny.Problem polega na tym, że nie wiem co dopisać do wyrażenia regularnego dotyczącego obu haseł,żeby oba hasla nie przyjmowaly takich znakow: ' " / \ .Ponizej podaje wyrażenie regularne do którego prosilbym o dopisanie tego "czegos" ;) :

if (ereg ("[^a-zA-Z0-9]", $haslo))
echo "Podałeś nieprawidłowe haslo";

if (ereg ("[^a-zA-Z0-9]", $haslop))
echo "Podałeś nieprawidłowe haslop
";

if($haslo!=$haslop)
echo "Hasla nie sa takie same
";

Pozdrawiam i czekam na odpowiedzi.

Pozostało 580 znaków

2006-04-23 21:34

Rejestracja: 14 lat temu

Ostatnio: 13 lat temu

0

1) po co sprawdzasz oba hasla?? Sprawdz poprawnosc pierwszego, a pozniej czy sa takie same ;)

2)

bartolomeusz napisał(a)

żeby oba hasla nie przyjmowaly takich znakow: ' " / \ .

bartolomeusz napisał(a)

if (ereg ("[^a-zA-Z0-9]", $haslo))
echo "Podałeś nieprawidłowe haslo";
yyyy ale jak w hasle podasz ktorys z tych znakow to zostanie wyswietlony komunikat.... wiec nie wiem o co chodzi


SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Pozostało 580 znaków

2006-04-23 22:06

Rejestracja: 15 lat temu

Ostatnio: 7 lat temu

0

if(ereg("[^a-zA-Z0-9]+", $haslo)) ??


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-04-23 23:24

Rejestracja: 16 lat temu

Ostatnio: 8 lat temu

0
Adamo napisał(a)

if(!ereg("[^a-zA-Z0-9]+", $haslo)) ??


<url>http://kooba.pl/</url>

Pozostało 580 znaków

bartolomeusz
2006-04-24 00:03
bartolomeusz
0

Witam.Sprubuje jeszcze inaczej ;) .Mam pole input typu text w ktorym musze wpisać haslo które może zawierać wszytkie znaki oprócz: / \ " i ' .Musze napisac do tego odpowiednie wyrazenie regularne.Poniżej podaje wyrażenie regularne do którego trzeba dopisać to "coś".Pozdrawiam.

if(ereg("[^a-zA-Z0-9]", $haslo))

Podaj haslo:<input type="text" name="haslo">

Pozostało 580 znaków

2006-04-24 00:49
Administrator

Rejestracja: 17 lat temu

Ostatnio: 19 godzin temu

Lokalizacja: Poznań

0
if(ereg("[/\\\"']", $haslo)) {}

Pozostało 580 znaków

bartolomeusz
2006-04-24 11:58
bartolomeusz
0

Dzieki Marooned o to mi chodzilo [browar] Pozdro. :)

Pozostało 580 znaków

2006-04-27 23:19

Rejestracja: 17 lat temu

Ostatnio: 8 miesięcy temu

0

domyslam sie, ze chodzi o sprawdzanie hasla w bazie i po to te zastrzezenia dot ukosnikow?

sugerowalbym przetrzymywanie hasla jako hash md5 - nie zawiera zlych znakow (tylko male litery i cyfry) oraz ma szereg zalet (np. ktos po wlamaniu do bazy i tak nie odczyta hasel)


Pozostało 580 znaków

2006-04-27 23:48
Administrator

Rejestracja: 17 lat temu

Ostatnio: 19 godzin temu

Lokalizacja: Poznań

0

Jak to nie odczyta. Pewności nie masz.
Jest wiele stron typu http://us.md5.crysm.net/
Jasne, że mają znikomy procent wszystkich skrótów, ale jak testowałem.. to sporo haseł, które kiedyś używłem, tam są.

Dlatego jeszcze lepszym rozwiązaniem jest md5(md5(haslo) + md5(seed)) gdzie seed losujemy przy rejestracji - tak jest np. na IPB


Pozostało 580 znaków

2006-04-28 17:15

Rejestracja: 16 lat temu

Ostatnio: 9 lat temu

0

Marooned - to zależy, co chce się z tego hasła wyciągnąć. Do zalogowania może wystarczyć, ale do dowiedzenia się, jakie jest hasło faktycznie - nie zawsze pomoże - wiele ciągów znaków generuje ten sam hash MD5.


Grunt to uziemienie...

Pozostało 580 znaków

r34p3r
2006-04-29 23:21
r34p3r
0
Marooned napisał(a)

Dlatego jeszcze lepszym rozwiązaniem jest md5(md5(haslo) + md5(seed)) gdzie seed losujemy przy rejestracji - tak jest np. na IPB

Ciekawe, nie spotkałem się z tym, ale mam pytanie co do seed-a, gdzie go przechowujesz? W bazie, czy user musi go podać przy logowaniu? Jeśli w bazie to chyba równie dobrze wystarczyłoby md5(md5(haslo)), choć oczywiście wszystkie działania arytmetyczne w tym miejscu utrudnią życie włamywaczowi :)

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0