![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Logowanie KIERUNKOWE z "dziedziczeniem" (IMG:style_emoticons/default/questionmark.gif) ?
Założenia: Jest ok. 80 użytkowników wzajemnie nie mogący poznawać informacji obcych. Jest stworzonych dla nich ok. 80 stron tylko z ICH informacjami. Strony są identyczne i wyświetlają dane zaczerpnięte z bazy danych MySQL o strukturze podobnej do: userzy NrUsera----Wzrost----KolorOczu----Waga 50-----------181---------czarne--------89 23-----------169---------zielone--------71 72-----------192---------fiolkowe-------97
Chodzi o stworzenie bardzo PROSTEGO formularza logowania w którym LOGIN odpowiadałby numerowi Usera (NrUsera) [zgodność hasła dla tego loginu sprawdzona ma być w bazie MySQL] i numer tego USERA wklejony byłby do SELECT'u w miejsce "NrUsera = 72" -- (w tym przypadku wartość "72"). Umożliwiłoby to stworzenie jednej strony dla moich ok. 80 użytkowników. Warunek: w jednym czasie może wejść trzech lub nawet więcej użytkownikow... Jeżeli ktoś ma genialny (i prosty) pomysł to będe wdzięczny. And |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 14 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
@thek to co podałem, to tylko przykład, bo stopień trudności powinien już sobie ustawić sam programista... Co do bezpieczeństwa danych w bazie, jeżeli teoretycznie ktoś uzyskał dostęp do hashy, to teoretycznie może dobrać się do każdej tabeli i jej zawartości, więc hasła już mu nawet nie będą potrzebne jeśli dostanie się do innych danych na których mu zależy... Także sprawą priorytetową jest tak zabezpieczyć skrypty i dostęp do bazy danych, żeby nikt niepowołany nie uzyskał do niej dostępu.
Co do dzielenia soli na pół, na to nie wpadłem, ale stosuję trochę podobne zabezpieczenie. Z przodu dodaję liczbę która jest długością hasła, a z tyłu zmienną z bazy która jest wartością time() + XXX. Idąc dalej można napisać takie zabezpieczenie, w którym sól mogłaby być tworzona z złączenia loginu+hasła, ale w formie hasha md5. Później może być liczona długość loginu/hasła (które u mnie mogą mieć tylko 20 znaków) i wynik może być stosowany do rozdzielania soli. Jeżeli wyjdzie 8, to dzielimy sól na pierwsze 8 znaków i resztę. Następnie ta reszta może być dołączana z przodu, a pierwsze 8 znaków z tyłu lub nawet gdzieś w środku... Ale pozostaje pytanie - po co tworzyć takie super zabezpieczenia, skoro można stworzyć o wiele prostsze, których także nie da się złamać... Wystarczy jedna sól z tyłu ciągu + hashowanie md5(sha1(md5($string))); i tego nikt nie złamie... A jeżeli dostanie się do bazy, to po co ma próbować odszyfrować hasła, skoro ma dostęp wszędzie? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 22:34 |