![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 0 Dołączył: 14.11.2005 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Sluchajcie nurtuje mnie takie pytanie - jak moge zrobic kod jednorazowej weryfikacji czyli mam jakas grupe powiedzmy liczb/liter/ - wszystko w bazie kazdy kod jest uniq - i jak moge teraz zrobic ze klient na stronie wpisze kod , kod zostaje wykasowany z bazy (ewentualnie jakis przelacznik ustawil bym ze kod sie dezaktywuje )np. a goscia wita wiadomosc ze jego kod zostal zatwierdzony i prosze o dalsza rejestracje - chodzi szczegolnie o to zeby moc dawac ludziom dostep ale tylko jednorazowy do danego miejsca ( wychodzi cos w rodzaju jendo razowego hasla dostepu ) - moze ktos mi sugestie podsunac jak zrobic takie jednorazowe haslo?
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Możesz to rozwiązać w następujący sposób. Generujesz kod na podstawie daty date('YmdHis') oraz jakiegoś klucza, którego wartość ustalasz Ty. Może to być jakiś długi ciąg złożony z "losowych" znaków, np. adRTFda43sdAQ@#ERa. Następnie traktujesz datę i ten ciąg md5: md5($data.$ciag); i otrzymujesz unikatowe hasło. Wada takiego rozwiązania - 32 znaki do wprowadzenia.
Jesli jesteś maniakiem bezpieczeństwa, możesz zamiast daty, użyć temperatury procka, ilości zajętej pamięci, itp. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Lub w wersji dla mniejszych maniaków - microsekundy wygenerowania kodu. Pamiętaj tylko, że dodawany przez Ciebie kod nie powinien być wyrazem w stylu "haslo" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 0 Dołączył: 14.11.2005 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Możesz to rozwiązać w następujący sposób. Generujesz kod na podstawie daty date('YmdHis') oraz jakiegoś klucza, którego wartość ustalasz Ty. Może to być jakiś długi ciąg złożony z "losowych" znaków, np. adRTFda43sdAQ@#ERa. Następnie traktujesz datę i ten ciąg md5: md5($data.$ciag); i otrzymujesz unikatowe hasło. Wada takiego rozwiązania - 32 znaki do wprowadzenia. Jesli jesteś maniakiem bezpieczeństwa, możesz zamiast daty, użyć temperatury procka, ilości zajętej pamięci, itp. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Lub w wersji dla mniejszych maniaków - microsekundy wygenerowania kodu. Pamiętaj tylko, że dodawany przez Ciebie kod nie powinien być wyrazem w stylu "haslo" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) @batman wiem jak moge wygenerowac taki unikatowy kod jak jednak napisalem chodzi o to zeby kod mogl byc uzyty jeden jedyny raz nie wazne czy to md5 czy np '22222' chodzi o to ze po jego wpisaniu na stronie , uzytkownik zostaje przeniesiony do strony z informacja , jednak jak zamnie strone i bedzie chcial jeszce raz sie zalogowac to ten numer juz go nie wpusci , nr beda unikatami ale jak zrobic ze po jednym uzyciu kodu nikt wiecej nawet osoba ktora dostala ten kod nie bedzie mogla go uzyc - kod ma byc uzywany jeden jedyny raz i niszczony ;/o to chodzilo mi |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
W takim razie wygenerowane w ten sposób kody zapisujesz do bazy danych i ustawiasz im flagę (np. bused) na false. Użycie kodu powoduje ustawienie flagi na true i po kłopocie. Takie mechanizm mam zaimplementowany u siebie i działa bez zarzutu.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
No to po zalogowaniu wykasuj go z bazy :] (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 0 Dołączył: 14.11.2005 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
W takim razie wygenerowane w ten sposób kody zapisujesz do bazy danych i ustawiasz im flagę (np. bused) na false. Użycie kodu powoduje ustawienie flagi na true i po kłopocie. Takie mechanizm mam zaimplementowany u siebie i działa bez zarzutu. @batman to brzmi ciekawie z tymi flagami nie bawilem sie nimi jeszce ale zaraz lece poszukac po googlu tego troche , o to wlasnie mi chodzi co piszesz wiec jak cos to bede pisal jak postep wyglada ewentualnie jka bym mial problemy dzieki pozdro (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Pisząc "flaga" mam na myśli pole w bazie, w którym zapisana jest wartośc true - false lub 1 - 0. Podczas spradzania kodu pod kątem poprawności, aktualności, odsiewasz te wiersze, które mają w tym polu wartość false lub 0.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 0 Dołączył: 14.11.2005 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Pisząc "flaga" mam na myśli pole w bazie, w którym zapisana jest wartośc true - false lub 1 - 0. Podczas spradzania kodu pod kątem poprawności, aktualności, odsiewasz te wiersze, które mają w tym polu wartość false lub 0. Aha ok (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) bo flagi tez sa w mysql tylko maja troche inne uzycie z tego co wiem i myslalem ze jest ich jakas inna opcja ;d dobry pomysl z tym co napisales zaraz tak zrobie pozdrowka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Powracam do kodu jednorazowej weryfikacji tym raziem juz z jakims kodem ;/ Naplatane jest i sie gubie po wszystkich stronach, ponizszy kod powinien dodac uzytkownika ktory poda dane z kodem i przy jego danych powinien pokazac sie kod, jezeli kod zostal zweryfikowany to zostaje zaznaczony jako 1 i nie moze zostac uzyty po raz kolejny, jezeli nie istnieje albo nie zostal wpisany pownien nic nie podawac albo napisac ze cos jest nie tak
Przy roznych przestawieniach on dziala albo dla zapisu uzytkownika z kodem do bazy albo z weryfikacja kodu i zaznaczeniem go jako 1 moze ktos zucic okiem wiem ze to wyglada koszmarnie, moze ktos by mi pomogl to wyprostowac i do radzil jak to ustawic ;/ widac czesto mozna sie uczyc na wlasnych bledach i pomylkach oto i moje ktore dzialaja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jeszce tylko sprawdzanie jezeli jeszcze raz zostanie wpisany ten sam kod i skonczony projekt (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - z tym juz sobie dam rade (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 18:08 |