ďťż
Podstrony
|
telcocafeTrochę mało realne pytanie, jednak czy jest w ogóle możliwe utworzenie strony z losowymi hasłami? Na myśli mam sytuację, że na daną stronę można wejść poprzez określoną liczbę haseł. Czyli, aby był to skrypt w którym można w każdej chwili dodawać kolejne możliwe hasła oraz w każdej chwili niektóre usuwać. Teraz dodatkowo jeszcze trochę więcej fantazji, aby dodawane hasła miały stały, określony termin, np po 10 dniach przestają działać.Wydaje mi się, że to nie jest problem. Panel w którym dodaje się/usuwa hasła + baza danych z hasłami i terminem ich wygaśnięcia. Opcja z hasłami na dość podobnej zasadzie stosowana jest np w blogach czy forach, gdzie można ograniczyć pewną ilość odwiedzających. Mi będzie potrzebne stworzenie to na stronie, tylko aby dla każdej osoby było osobne hasło, gdzie po jakimś upływie przestaje ono działać (automatycznie). Jeśli upewnię się, że na pewno jest to możliwe to się tym zajmę no i oczywiście nie sam, bo na tego typu skryptach się zbytnio nie znam :) W uproszczeniu większość polskich i specialnych znaków jakie udało mi się znaleść na klawiaturze ;D Jeżeli coś zjadłem to mnie poprawcie ;) <? $znaki=array('!','@','#','$','^','$ ,'&','*',')','.','\'','"',',' ,'_','(','+','1','2','3','4','5',' 6','7','8','9','0','a','b','c','d' ,'e','f','g','h','i','j','k','l',' m','n','o','p','r','s','t','u','w' ,'x','y','z'); $ilosc='10'; //liczba znaków for($i=1;$i<$ilosc+1;$i++){ $rand=(0,count($znaki)); if($i=='1'){ $haslo=$znaki[$rand]; } else{ $haslo=$hasło.$znaki[$rand]; } } ?> echo 'Wygenerowane hasło to: '.$haslo; Lub poprostu sprawdzasz czas <? $czas=time(); $rand=rand(1000000,9999999); $haslo=md5((md5($rand.time().$rand).$rand+time()) ; ?> Lub coś w tym stylu :o Edit: Dobra tematy mi sie z pcformatem pomyliły ;D Jeżeli znasz choć podstawy SQL to dasz rade ;) Poprzedni kod zostawiam może ci się przyda. Sprawdzasz if($_POST[haslo]){ if($_POST[haslo]==$haslo){ $logowanie='1'; } else{ $logowanie='0'; } } else{ $logowanie='0'; } Poźniej tylko jeżeli $logowanie=='1' niewiem jeżeli chcesz usunąć odrazu hasło to usuń i ustaw cookie z id sesji i umieść je w tabeli Następnie podany wyżej kod sprawdzenia hasła umieszczasz w kodzie: $check_id_query=mysql_query('SELECT id_autoryzacji FROM tabela WHERE id=$_COOKIE[autoryzacja]'); $check_id=mysql_fetch_assoc($check_id_query); if(isset($_COOKIE[autoryzacja])){ if($check_id){ $logowanie='1'; } else{ $logowanie='0'; } } else{ $logowanie='0'; } if($logowanie=='1'){ //zawartosc strony po zalogowaniu } else{ if($_POST[haslo]){ if($_POST[haslo]==$haslo){ $logowanie='1'; } else{ $logowanie='0'; } } else{ $logowanie='0'; } } Użytkownik użytkownik anonimowy edytował ten post 15 sierpień 2009, 17:06 W sumie mogę spróbować sam, jednak już na początku się zgubiłem. Co łącznie powinienem wrzucić do indexu aby być na dobrej drodze ? 1. Wygenerowanie hasła, 2. Zapisanie go do bazy z parametrem jego wygaśnięcia (data tworzenia hasła + 10 dni (86400 *10 - w sekundach) ), 3. Przy logowaniu, sprawdzanie czy data w tabeli podana jako parametr wygaśnięcia nie jest równa z teraźniejszą datą.
ll jeżeli nie, nic nie robimy :)l Tyle wystarczy {?} . Użytkownik ~Dawid. edytował ten post 16 sierpień 2009, 12:05 Raczej powinien sprawdzić czy data z bazy jest mniejsza od aktualnej daty ;p Jeżeli np. hasło zostanie użyte po terminie? Przyznaje racje :) + np. każdego 20stego dnia miesiąca sprawdzanie czy wszystkie daty w bazie są mniejsze od teraźniejszej ;) Nurtuje mnie jeszcze jedna kwestia :frusty: Jest taka możliwość, jak zablokowanie dostępu do strony poprzez IP. Czy nie można zablokować strony wszystkim IP i następnie dodać z wyjątkiem wybranych określonych numerów :) ? No i pewnie chyba trzeba byłoby coś zrobić ze zmiennym IP ? Jeśli to okazałoby się możliwe to byłoby to o wiele lepsze. Użytkownik win edytował ten post 24 sierpień 2009, 11:34 |
|||
Sitedesign by AltusUmbrae. |