Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Hasło.
Forum PHP.pl > Forum > Przedszkole
GoldeNx3
Witam. Mam hasło zahaszowane w md5, jak mogę wygenerować unikalny link, wysłać go na emaila i gdy gracz wejdzie na link z emaila to może wpisać nowe hasło i zostanie ono zastąpione starym? Chodzi o przypomnienie hasła, ale jak wiadomo, zahaszowanego się nie da wyświetlić.
Kshyhoo
Bezpiecznie jest zmienić hasło na nowe.
GoldeNx3
Jednak wolałbym, by gracz mógł wpisać. Ale jak tak, to jak mogę to zrobić, gdy gracz bez logowania naciśnie "Przypomnij hasło"?

Oraz drugie pytanie. Mam w DotPay konto i tam mam Premium SMS i np. gracz wysyła smsa za 10zł to dolicza mu 10pkt, a jak wyśle za 20, to dolicza mu 20pkt. Jak mogę sprawdzić, za ile wysłał smsa, lub jakiś inny sposób?
modern-web
1. Zmiana hasła:
- użytkownik klika przypomnij hasło
- podaje adres e-mail
- system generuje mu nowe hasło
- wysyła go na maila
- użytkownik odbiera maila z hasłem i loguje się
- system wykrywa, że jest to logowanie po zmianie hasła i prosi o podanie nowych danych
- użytkownik wpisuje nowe hasło, potwierdza i akceptuje.

P.S. md5() to algorytm mieszający działający w 2 strony...

2. Doładowanie konta za pomocą kodów bezobsługowych:
- użytkownik wybiera kwotę
- pokazuje się jakiego sms-a ma wysłać i na jaki numer
- poniżej jest pole do wpisania kodu
- wpisuje kod i akceptuje
- skrypt sprawdza czy kod zgadza się z kodami znajdującymi się w puli kodów dla takiej kwoty doładowania

P.S. musi być osobny skrypt dla każdego z doładowań. tak samo usługi po stronie DotPay muszą być osobne dla każdej wartości SMS. wywołujesz skrypt zależnie od kwoty jaką wybrał użytkownik i po prostu sprawdzasz to z danymi w DotPay smile.gif

Pozdrawiam!
GoldeNx3
A ja zrobiłem na jedną treść wszystkie możliwe wpłaty. haha.gif Czyl rozumiem, że na każdą wpłatę osobny skrypt i osobny kod?
modern-web
Na każdą wpłatę osobna grupa kodów bezobsługowych (usług) po stronie DotPay, a także osobny skrypt dla każdej z wartości doładowania.
Popraw i będzie działać smile.gif
GoldeNx3
Osobny skrypt? Czyli za pomocą ID mogę sprawdzić w jednym pliku która usługa jest wybrana?
modern-web
Nie nie... wybranie usługi odbywa się na poziomie Twojej strony. Tam użytkownik wybiera za jaką kwotę chce doładować konto. Wybiera np. 10 zł i w tym momencie otwiera się strona która zawiera informacje o treści SMS-a i numerze, a także polu do wpisania kodu (8-znakowego o ile dobrze pamiętam jak to było z DotPay), które odwołuje się do skryptu sprawdzającego ważność kodu dla wartości 10zł (skrypt udostępnia DotPay)... itd...
Wybór kwoty doładowania odbywa się na poziomie Twojej strony i w zależności od tego co wybierze u Ciebie załaduje się odpowiedni skrypt od DotPay.
Niby nic w tym trudnego ale pamiętam jak to ze mną było rok temu więc doskonale Ciebie rozumiem. Też potrzebowałem trochę czasu żeby to ogarnąć smile.gif
GoldeNx3
No tak, ale mam dwa sposoby wybrania usługi:

- Generowanie listy 8 - mio znakowych kodów
- Kod generowany i dopisywany do listy kodów. Sprawdzanie kodów w DotPay

Czyli z tego co rozumiem, meroda pierwsza odbywa się u mnie na hostingu a metoda 2 w DotPay?
modern-web
8-znakowe kody bezobsługowe musisz samemu dodawać ręcznie a to jest dość uporczywe i pracochłonne - nie ma to nic wspólnego z Twoim hostingiem (nie wiem czy jest właściwie opcja wysyłania owego kodu z Twojej strony do bazy kodów DotPay... nie pamiętam..).
Druga opcja jest lepsza w tym przypadku. Pokombinuj smile.gif
Jak czegoś nie będziesz wiedział to pisz; znawcą DotPaya nie jestem ale nie jedno z nimi przeżyłem haha biggrin.gif
GoldeNx3
Ok, pozakładałem wszystkie płatności i mam oto taki plik:

  1. <?php
  2.  
  3. $id = 10; # numer ID zarejestrowanego klienta
  4. $code = "abcd"; # identyfikator usług SMS
  5. $type = "sms"; # typ konta: C1 - 8 znakowy kod bezobsługowy
  6. # typ konta: sms dla sprawdzania SMSow
  7. $page = "main.php"; # nazwa pliku jaki ma sie zaladowac po podaniu poprawnego kodu
  8.  
  9.  
  10. # gdy sprawdzane będą zarówno konta smsowe jak i konta przy płatnościach kartą
  11. # to należy wtedy użyć zapisu:
  12. # $type = "c1,sms";
  13.  
  14. #
  15. # przy sprawdzaniu kilku kont o różnych identyfikatorach należy użyć zapisu:
  16. # $code = "abcd1,abcd2,kody2,kody6";
  17.  
  18. $del=1; # jeżeli kod ma być skasowany od razu po sprawdzeniu to ustaw wartość na 1
  19. ################################################################################
    #
  20. $check = $_POST['check']; # podany kod na stronie gdzie wejście jest płatne i wymagany jest zakupiony kod
  21. if($check == NULL)
  22. exit("Prosze wpisac kod");
  23.  
  24.  
  25. $handle = fopen("http://dotpay.pl/check_code.php?id=".$id."&code=".$code."&check=".$check."&type=".$type."&del=".$del, 'r');
  26. $status = fgets($handle, 8);
  27. $czas_zycia = fgets($handle, 24);
  28. fclose($handle);
  29. $czas_zycia = rtrim($czas_zycia);
  30.  
  31.  
  32.  
  33. if ($status == 0) {print "Kod niepoprawny."; exit;} # gdy kod niepoprawny
  34. else
  35. { # gdy kod poprawny:
  36. if (!isset($_COOKIE['ActiveCode']))
  37. {
  38. setcookie('ActiveCode',1, time()+$czas_zycia);
  39. }
  40. else
  41. {
  42. setcookie('ActiveCode',0, time()+2, "/");
  43. setcookie('ActiveCode',1, time()+$czas_zycia, "/");
  44. }
  45. header("Location: ".$page); # włączenie strony głównej
  46. }
  47. ?>


Mam rozumieć, że mogę go nieco zmodyfikować i dać do mojego pliku w momencie gdy użytkownik wciśnie "Doładuj"?
Czyli użytkownik wypełnia wszystkie pola, wciska "Doładuj" i wtedy odpalam jeden ze zmodyfikowanych skryptów sprawdzających kod i wysyłających do DotPay?
Ulysess
jakiś czas temu trafiłem na temat w którym gracz gry metin 2 wykorzystywał bugi na prv serwerach tej gry które zaś korzystały ze skryptów dotpaya do sprawdzania kodu. Krótko mówiąc , sprawdzaj dokładnie dane które wysyła ci dotpay i filtruj je wink.gif. PS ja osobiście wole dodać do bazy liste kodów , fakt jest to trochę uciążliwe a przy większych serwerach nawet bardzo ALE co jeśli np nasza strona padnie , użytkownik wyśle sms i wtedy co się dzieje skoro nasza strona nie działa ?smile.gif
GoldeNx3
Filtruj? haha.gif Możesz coś więcej na ten temat?
Ulysess
np jeśli wiesz że zwróci tobie liczbę używaj int/abs
wiesz ze dany ciąg będzie miał 8 znaków ? sprawdzj czy aby na pewno ma 8 znaków - strlen
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.