![]() |
![]() |
![]()
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... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wiem, że to jest mało bezpiecznie ponieważ jest to jawnie zapisane w skrypcie... ale może macie jakieś inne pomysły? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 13 Dołączył: 31.05.2007 Ostrzeżenie: (10%) ![]() ![]() |
Dołączam się do postu wyżej.
|
|
|
![]()
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:
Potem wystarczy już tylko sprawdzić:
|
|
|
![]() ![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A po za tym, uzytkownik nie pytał co lepsze a jak rozwiązac takie coś.
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
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).
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:47 |