Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Hasła jednorazowe
Danone
post
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 16
Dołączył: 18.10.2006
Skąd: Olsztyn/Wrocław

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


Witam Was,

Chciałbym się poradzić w jaki sposób rozwiązalibyście hasła jednorazowe tak jak w bankach internetowych? Ja np myślałem o przechowywaniu takich haseł w tablicy i losowo wybierać numer hasła i prosić o wpisanie przy autoryzacji... smile.gif wiem, że to jest mało bezpiecznie ponieważ jest to jawnie zapisane w skrypcie... ale może macie jakieś inne pomysły?
Go to the top of the page
+Quote Post
Sadu2
post
Post #2





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


Dołączam się do postu wyżej.
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Kartę kodów jednorazowych można by rozwiązać w następujący sposób

Tabela w bazie danych z polami:
IDuzytkownika
IDkarty - id aktualnie aktywnej karty
numerPola - na mojej karcie kodów jest takich 40
wartosc - np. 651349
wykorzystane - 0 - nie, 1 - tak

Wykonując jakąś "ważną" operację prosisz o podanie wartości z najbliższego wolnego pola:
  1. SELECT numerPola, wartosc FROM kartyKodow WHERE IDuzytkownika = 123 AND IDkarty = 0000156467 AND wykorzystane = 0 ORDER BY numerPola ASC LIMIT 1 ;


Potem wystarczy już tylko sprawdzić:
  1. <?
  2.  
  3. if($_POST['kodZFormularza'] == $row['wartosc']){
  4. //wykonanie danej operacji
  5. //zdezaktywowanie 1 kodu
  6. }else{
  7. //blad
  8. }
  9.  
  10. ?>
Go to the top of the page
+Quote Post
Zbłąkany
post
Post #4


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

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


IMHO bez sensu, lepiej użyć CAPTCHA lub Asirra smile.gif


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
Go to the top of the page
+Quote Post
Moli
post
Post #5





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

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


@Zbłąkany - Captcha jeszcze ale Asirra jest chyba jeszcze większym utrudnieniem smile.gif A po za tym, uzytkownik nie pytał co lepsze a jak rozwiązac takie coś.
Go to the top of the page
+Quote Post
Danone
post
Post #6





Grupa: Zarejestrowani
Postów: 169
Pomógł: 16
Dołączył: 18.10.2006
Skąd: Olsztyn/Wrocław

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


Nad takim rozwiązaniem myślałem, które podał Cronin, ale jednak jest to jawne przechowywanie w bazie, myślałem nad czymś takim jak generowanie liczb pseudolosowych... Korzystał ktoś kiedyś z takiego rozwiązania? Pytam, ponieważ pisze prace inżynierską a temat jest związany ze stworzeniem banku internetowego smile.gif
Go to the top of the page
+Quote Post
Moli
post
Post #7





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

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


Kody musisz gdzieś przechowywać. Będzie to dużo bezpieczniejsze niż losowanie licz czy inny wybryki. Stwórz w bazie tabele z kodami i po wpisaniu poprawinie kodu, przenos go do innej tabeli (zapobiegac to bedzie powtarzaniu się kodów).
Go to the top of the page
+Quote Post
ucho
post
Post #8





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

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


Listę haseł jednorazowych można trzymać w dość ciekawy sposób - w postaci jednego hasła smile.gif Najpierw generujemy 20 haseł czymś w stylu następne= substr(sha256(salt(np. numer konta)+poprzednie)) i zwracamy użytkownikowi w odwrotnej kolejności, w bazie zapamiętujemy tylko ostatnie. Kiedy user wykonuje operacje sprawdzamy czy jego hasło po podstawieniu do wzoru da nam to co mamy w bazie, jeśli tak to zezwalamy na operacje i zapamiętujemy to hasło w bazie.
Spora oszczędność miejsca ale nie da się żądać kolejnych haseł z listy jeśli user nie poda poprawnego poprzedniego.
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 Aktualny czas: 22.08.2025 - 03:15