Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Logowanie KIERUNKOWE z "dziedziczeniem" ?, Jak przenieść dane np. LOGINu do zapytania SELECT ???
Andrzej1002
post
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


  1.  
  2. <?php
  3.  
  4. mysql_connect ("127.0.0.1", "root", "krasnal") or
  5. die ("Nie można poł&plusmn;czyć się z MySQL");
  6. mysql_select_db ("bazzzza") or
  7. die ("Nie można poł&plusmn;czyć się z baz&plusmn; DANYCH");
  8.  
  9.  
  10. $wynik = mysql_query ("SELECT * FROM userzy WHERE NrUsera = 72 ORDER BY id;") or
  11. die ("bł&plusmn;d w pytaniu");
  12.  
  13. print "<table>";
  14.  
  15. while ($rekord = mysql_fetch_assoc ($wynik)) {
  16. $Wzrost = $rekord['Wzrost'];
  17. $KolorOczu = $rekord['KolorOczu'];
  18. $Waga = $rekord['Waga'];
  19.  
  20. print "<tr><td>$Wzrost</td><td>$KolorOczu</td><td>$Waga</td></tr>\n";
  21. }
  22. print "</table>";
  23.  
  24. ?>


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kużdo
post
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?
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 22:34