Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Php MySQL / Bezpieczny ale i prosty system logowania
Forum PHP.pl > Forum > Przedszkole
Torriel
Moze jak nikt mi za bardzo nie pomogł w ostatnim moim temacie moze... teraz poradzicie chociarz jak zrobić najbanalniejszy system logowanie lecz by byl w miare bezpieczny tzn jak sie wyloguje i klikne pare razy wstecz to wracam znow do panelu kiedy belem zalogowany chodzi mi zeby taka sytuacja nie mogla zaistniec na zadnej przegladarce... (Problem z wstecz poruszylem juz wczesniej lecz jedna osoba odpisala i nie za bardzo mi to pomoglo...) Poradzcie... prosze...
gladiror
Nie szukaj janów, którzy to zrobią za ciebie... Zacznij szukać od słownika ortograficznego...
-potreb-
Co do logowania, na forum masz tez rejestracje do tego arta

http://www.strefaphp.net/artykul36.html
Torriel
panie Gladiror nie prosze o pomoc z ortografia ... bo kazdy po pracy o 2oo w nocy moze narobic bledow, tylko o propozycje jaki system zalogowania jest najatrakcyjniejszy - nie prosze takze gotowce... wiec zupelnie blednie zrozumiales moje zapytanie i uwazam ze piszesz tylko zeby sobie posty nabic, bo odpowiedz na konkretne(z bledami ale konkretne pytanie) typu:

Nie szukaj janów, którzy to zrobią za ciebie... Zacznij szukać od słownika ortograficznego...

Mogles tego nie pisac wogole ... jak nie chcesz pomoc tylko dopiec - naprawde.

Ślicznie dziekuje za pomoc --potreb--
Ertai
Podaj wiecej konkretow. Gdzie jest przechowywane haslo i login do tego systemu logowania (plik, skrypt, baza danych?). Czy haslo ma byc szyfrowane? Czy to ma byc pojedyncza strona, czy tez za logowaniem stoi caly szereg powiazanych ze soba stron?
Torriel
A wiec konkrety: Haslo i Login przechowywane w Bazie danych MySQL, nie potrzebuje by hasla byly szyfrowane... i chodzi mi o szereg powiazanych ze soba stron... probowalem (zeby nie bylo jak mi juz ktos zarzucil ze nic nie robie tylko czekam) zrobic takie cos na sesjach... i wynikł problem... ktory juz opisalem wczesniej...

http://forum.php.pl/index.php?showtopic=79459&hl=
in5ane
A może byś się trochę wysilił i ruszył mózgownicą i spróbowałem samemu coś napisać, hę? Pytaj jak zrobić, a nie o gotowe. Ja ci powiem, że jak już utworzysz sobie tabelkę w bazie (3 pola wystarczą: id(int), login(text), haslo(text)) to teraz musisz zrobić formularz i jak masz z formularza $_POST['login'] to porównuj czy jest w bazie taki login, jak jest to dopasuj hasło z $_POST['haslo'] i jak ci się zaloguje to dodaj sesje, żeby nie wygasało logowanie po przejściu ze strony na stronę. Wylogowanie to zwykłe usunięcie sesji. I tyle.. jak będziesz miał jakieś problemy to pisz (zawsze podaj kod oraz treść błędu i opis).

P.S.: Ciekawe czy ruszysz dupę i zaczniesz pisać czy będziesz nadal żerował na innych.
Torriel
Dobrze - przepraszam... zle napisalem za malo konkretnie.

Chodzi mi o system zalogowania nie chodzi mi o to zebyscie mi pisali jak sie tworzy tabelki co to jest formularz jak sie go wysyla jak sie wprowadza dane do MySQL (z tym sobie jeszcze radze ... ) tylko na czym najlepiej ma polegac owe zalogowanie... na sesjach ? znam tylko taki sposob ... ciezko mi jest okreslic jakis inny bo sie nie znam na tym dlatego pytam czy jest jakis inny system (skrypt polecenie... ?!) ktore nadaje sie na login... na stronie...

in5ane - tu sie troszeczke wysililem http://forum.php.pl/index.php?showtopic=79459&hl= i mam problem...
napisalem ten temat by poprostu dowiedziec sie czy jest inne rozwiazanie niz sesje ... i czy nie jest 40x bardziej skaplikowane niz sesje...

Jestem noobem i sie pytam nie robcie ze mnie lenia ja naprawde lubie sam dociekać do sprawy - takie hobby lecz gdy nobiarstwo bierze góre nad ciekawością i zacięciem - pytam. Bo sobie nie radze...

Takie texty mow do swoich przyjacioł zanim nie poznasz choc troche osoby do ktorej tak sie zwracasz... Jestes na forum ktore ma swoja renome i naprawde nie musisz niszczyc jej swoimi textami... uwierz

P.S.: Ciekawe czy ruszysz dupę i zaczniesz pisać czy będziesz nadal żerował na innych.

Prosze bez takich.
dem
logowanie na sesjach w kilku krokach bez opisu dzialan na mysql czy co tam uzywasz:

1 logujesz sie -> jest ok:
- nadajesz np.
  1. <?php
  2. $_SESSION['auth']['in'] = TRUE;
  3. ?>

2. na kazdej stronie ktora ma byc chroniona sesja sprawdzasz sobie wartość
  1. <?php
  2. if ( $_SESSION['auth']['in'] != TRUE ) {
  3. /*przekierowanie do formularza*/
  4. } 
  5. else {
  6. /* kod chroniony przez sesje */
  7. }
  8. ?>

3. wylogowanie np:
  1. <?php
  2. if ($_GET['id'] == 'wyloguj') {
  3. /*przekierowanie do formularza*/
  4. }
  5. ?>

i przekierowujesz do formularza

przydatnym jest zeby zrobic zabezpieczenie przed bezczynnoscia usera, bo sesja wygasnie tylko wtedy gdy sie wylogujesz... czyli podczas pierwszego zalogowania nadajesz np.
  1. <?php
  2. $_SESSION['auth']['time'] = time();
  3. ?>

a wracajac do pkt. 2 robisz wtedy np:
  1. <?php
  2. $SesTime = 3*60; /* 3 minuty */
  3.  if ( $_SESSION['auth']['in'] != TRUE ) {
  4. /*przekierowanie do formularza*/
  5. }
  6. else /* jest zalogowany caly czas wiec trzeba sprawdzic kiedy ostatnio byl zalogowany*/ {
  7. if ($_SESSION['auth']['time'] + $SesTime < time() ) {
  8. /*przekierowanie do formularza*/
  9. }
  10. else {
  11. $_SESSION['auth']['time'] = time(); /* przedluzenie zycia sesji*/
  12. /* tutaj juz głowna cześć kodu ktory chroniony jest haslem */
  13. }
  14.  
  15. }
  16. ?>

jesli cie nie interesuje powiadomienia usera dlaczego zostal wylogowany i nie ma wiecej dostepu do danych chronionych haslem to polacz all w calosc:
  1. <?php
  2. $SesTime = 3*60; /* 3 minuty */
  3. if ( ($_SESSION['auth']['in'] != TRUE) || ($_SESSION['auth']['time'] + $SesTime < time()) || ($_GET['id'] == 'wyloguj') ) {
  4.  /*przekierowanie do formularza*/
  5. }
  6. else { 
  7. $_SESSION['auth']['time'] = time(); /* przedluzenie zycia sesji*/
  8. /* tutaj juz głowna cześć kodu ktory chroniony jest haslem */
  9.  }
  10. ?>


pisane z palca wiec pewnie zawiera literowki, jakies braki etc..zwlaszcza ze jest 2 w nocy :S

to nie jest idealna metoda, ale jak dla mnie skuteczna :E ktos to moze skrytykowac ale masz okrojony schemat dzialania sesji by dem :S

edit: nie zapomnij ze kada strona chroniona sesja musi miec na poczatku
  1. <?php
  2. ?>


pozdrawiam i mam nadzieje ze wg. mojego aktualnego toku myslenia i analizowania (padam na nos) dobrze zrozumialem o co pytales odnosnie sesji... mam nadzieje ze pomoglem chociaz w jednej malej rzeczy biggrin.gif

edit2:
cos przegladalem twoje posty i z tego co zrozumialem gosciu po kliknieciu wstecz nie moze byc zalogowany... no to masz :S
in5ane
Cytat(Torriel @ 6.11.2007, 22:04:43 ) *
Takie texty mow do swoich przyjacioł zanim nie poznasz choc troche osoby do ktorej tak sie zwracasz... Jestes na forum ktore ma swoja renome i naprawde nie musisz niszczyc jej swoimi textami... uwierz

P.S.: Ciekawe czy ruszysz dupę i zaczniesz pisać czy będziesz nadal żerował na innych.

Prosze bez takich.


laugh.gif laugh.gif
Człowieku piszę co widzę, jest masa topiców gdzie ktoś pisze i prosi o gotowca. To nie WOŚP.
! Pomożecie - pomożemy !
! Napiszecie - nie napiszemy !
Torriel
dem wielkie dzieki teraz widze ze nie dokonca znalem glowne mozliwosci sesji. Troche inaczej tworzylem swoj kod i wiem gdzie mam bugi...
ps. najfajniejsze mysli przychodza po 2:00 ;]

aha in5ane prosze nie pisz mi tu wiecej - prosze... ile mogles pomogles... prosze nie pisz... bo nie mam sil tego czytac...

jeszcze raz dzieki dem
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.