Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Logowanie & ciasteczka
|
Liczba postów: 250
Liczba wątków: 39
Dołączył: 04-01-2009
Reputacja:
8
Witam,
Potrzebuje zrobić logowanie, przy użyciu sesji i ciasteczek.
Żeby użytkownik który się zaloguję, otrzymał ciasteczko i przez tydzień będzie zalogowany (o ile nie wyloguje się ręcznie). Chodzi mi o to jak wysłać ciasteczko, i jakie, żeby przy odpaleniu strony sesje się automatycznie uaktywniły.
Za każdą pomoc bardzo dziękuję.
Liczba postów: 38
Liczba wątków: 0
Dołączył: 10-07-2009
Reputacja:
0
Jak wysłać ciasteczko?
Kod: setcookie('nazwacookie', 'wartosc', time()+60*60*24*7);
Już masz ciastko na tydzień.
Co do pytania o uaktywnienie sesji przy odpaleniu strony to nie rozumiem...
Liczba postów: 250
Liczba wątków: 39
Dołączył: 04-01-2009
Reputacja:
8
Ok. Dzięki.
Dalej chce, żeby to ciastko (jeżeli istnieje i jest aktualne) zostało pobrane na stronę, i wprowadziło mi do sesji że użytkownik jest zalogowany.
sessions.php
Kod PHP: function login( $id ) { $_SESSION["USER_AUTH"]=TRUE; $_SESSION["USER_ID"]=$id; }
Liczba postów: 38
Liczba wątków: 0
Dołączył: 10-07-2009
Reputacja:
0
26-07-2009, 01:13
(Ten post był ostatnio modyfikowany: 26-07-2009, 01:14 przez Sajam.)
Kod PHP: if ( isset($_COOKIE['nazwacookie'])) { $_SESSION['USER_AUTH'] = TRUE; $_SESSION['USER_ID'] = $_COOKIE['nazwacookie']; }
W cookie zapisujesz ID usera np.
Liczba postów: 1,054
Liczba wątków: 0
Dołączył: 28-05-2009
Reputacja:
22
Od razu w sesji zapisz sobie nazwę (login) użytkownika: np. rodi - bo często zdarza się, że chcesz np. w panelu usera napisać: "Witaj rodi... Dzisiaj jest ten i ten dzień ..." itd., a w tedy pobieranie tych danych kolejnym zapytaniem z bazy danych mija się z celem jeżeli możesz mieć to pod ręką.
Liczba postów: 250
Liczba wątków: 39
Dołączył: 04-01-2009
Reputacja:
8
Sajam napisał(a):W cookie zapisujesz ID usera np. A jeżeli cookie zapiszę jako id usera, to czy niepowołana osoba nie będzie mogła w prosty sposób jakoś podrobić tego ciacha?
rodi napisał(a):Od razu w sesji zapisz sobie nazwę (login) użytkownika: np. rodi Dzięki rodi. Wiem o tym, ale do celów których chcę osiągnąć, ta opcja jest niepotrzebna
Liczba postów: 1,054
Liczba wątków: 0
Dołączył: 28-05-2009
Reputacja:
22
Może podmienić więc ciasteczka to nie do końca dobry pomysł -> możesz zapisać w bazie danych id użytkownika + ostatnią akcję i jeżeli minęło od ostatniej akcji np. 15 minut wylogowujesz go i dajesz formularz logowania - najprostszy sposób, który zda egzamin, bo nie ukrywajmy, że ciasteczka można podejrzeć i wejdziesz jako ktoś inny jeżeli odpowiednio tego nie zabezpieczysz.
Liczba postów: 289
Liczba wątków: 19
Dołączył: 18-12-2007
Reputacja:
9
A nie lepiej wygenerować i zapisać do bazy i do ciastek losowy ciąg znaków przy logowaniu, a potem je porównywać?
Liczba postów: 250
Liczba wątków: 39
Dołączył: 04-01-2009
Reputacja:
8
26-07-2009, 20:41
(Ten post był ostatnio modyfikowany: 26-07-2009, 20:51 przez michalszyd.)
DoGeR napisał(a):A nie lepiej wygenerować i zapisać do bazy i do ciastek losowy ciąg znaków przy logowaniu, a potem je porównywać?
Ale co za różnica, skoro jeżeli ktoś wykradnie ciacho, to będzie miał ten losowy ciąg i w rezultacie i tak się zaloguję.
rodi napisał(a):możesz zapisać w bazie danych id użytkownika + ostatnią akcję Dzięki rodi. Będę kombinował z bazą danych;p Jakoś nie pomyślałem o tym wcześniej
Ale nie wiem do końca jak to zrobić.
A dokładnie odliczenie tych 7 dni. Bo jeżeli będzie 25, serwer doda 7 dni to będzie 32. Jak w krótki sposób wyeliminować ten błąd?
Liczba postów: 289
Liczba wątków: 19
Dołączył: 18-12-2007
Reputacja:
9
Cytat:Ale co za różnica, skoro jeżeli ktoś wykradnie ciacho, to będzie miał ten losowy ciąg i w rezultacie i tak się zaloguję.
Tak, ale wcześniej była mowa o samym id, które każdy może wprowadzić do cookies, losowy ciąg znaków już bardziej zabezpiecza skrypt.
Cytat:A dokładnie odliczenie tych 7 dni. Bo jeżeli będzie 25, serwer doda 7 dni to będzie 32. Jak w krótki sposób wyeliminować ten błąd?
zapisując cookie dodaje ileś tam sekund, więc nie będzie problemu takiego że + 7 dni będzie 32. On odczytuje uniksowy czas - w sekundach.
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Logowanie STEAM |
YoutuberAidis |
2 |
3,584 |
09-06-2017, 16:11
Ostatni post: martasmith
|
|
[PHP] Logowanie na plikach |
kadobe |
1 |
3,121 |
23-08-2013, 19:29
Ostatni post: msx83
|
|
Problem z kodem obsługującym logowanie |
24soft |
2 |
3,353 |
09-03-2012, 18:31
Ostatni post: 24soft
|
|
Logowanie facebook + dodatkowy formularz na stronie |
dawidirzyk |
5 |
5,278 |
09-10-2011, 16:38
Ostatni post: hieroshima
|
|
Auto Logowanie. |
jani1992 |
3 |
3,860 |
02-10-2011, 05:00
Ostatni post: Flake
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|