Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] co powinna zawierac dobra sesja?
Forum PHP.pl > Forum > Przedszkole
michales94
witam, jakie elementy brac pod uwage przy tworzeniu sesji?
- login
- ip
- np dane przegladarki wystarcza, zeby tak latwo nie mozna bylo jej ukrasc?

wystarcza?

a co z cookie, zeby mozna bylo pamietac sesje? jak to mozna zrobic?
CuteOne
Lepiej poczytaj o sesjach na google... bo pleciesz 3x3

ps. to co chcesz trzymać w sesji zależy tylko i wyłącznie od Ciebie i nie ma nic wspólnego z zabezpieczeniami [chyba, że trzymasz tam login i hasło wink.gif]
lukaskolista
w sesji wystarczy trzymac jej id:) co jest z reszta domyslne. Jak masz id sesji to mozesz zrobic wszystko. Jezeli chodzi o uzytkownika to wystarczy w sesji trzymac jego identyfikator z bazy i gdy bedzie chcial odwiedzic strone to pobierzesz z bazy jego dane na podstawie jego identyfikatora
michales94
to gdzie moge poczytac o tworzeniu dobrych sesji razem z ciasteczkami? ma ktos moze jakis dobry tutorial?
lukaskolista
w php sesje domyslnie sa tworzone na ciasteczkach

session_set_cookie_params () - ustawia parametry ciasteczka "sesyjnego"

Jestem zdania, ze nie ma sensu odkrywac kola na nowo, wiec jezeli znasz OOP to pobierz sobie jakies frameworki php'owe i zaczerpnij z nich wiedze, kazdy framework liczacy sie na rynku ma obsluge sesji i uzytkownikow.

Co do dobrej sesji to nie ma czegos takiego, sesja jest i juz, nie moze byc dobra ani zla. Mozna z niej jedynie zle korzystac ladujac do niej wszystko co sie da, zamiast zapisywac to w bazie
michales94
nawet nie slyszalem o czyms takim jak session_set_cookie_params () bo wszelkie poradniki jakie przegladalem to byly albo bez ciasteczek, albo ze zwyklym setcookie.
czyli jak to mam zrobic? wygenerowac jakies ID sesji, zapisac je do ciastka, a potem odczytywac? tylko nie wiem jakby to mialo dzialac w ogole.

a co do frameworkow to sie bawilem w Symfony i tam sesji nie widzialem, a nawet jak byla to i tak nic nie zakapuje z tego jak to jest tam zrobione

http://pl.wikibooks.org/wiki/PHP/Sesje

tutaj jest wlasnie o tym pobieraniu IP i nazwy przegladarki, wiec o to mi chodzilo.

wytlumaczy mi ktos jak to dziala?

  1. if (!isset($_SESSION['inicjuj']))
  2. {
  3. $_SESSION['inicjuj'] = true;
  4. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  5. }
  6.  


jest tam cos takiego jak session_regenerate_id();

tak po prostu wpisane i do niczego nie przypisane, czyli generuje sie tam po prostu session_id(); ?

a jak teraz zrobic z ciastkami, zeby to dzialalo? zapisuje do ciastka przez session_set_cookie_params to session_id czy co? chodzi mi zeby zrobic pamietanie logowania

nie wierze ze tyle osob na forum i nikt nie wie jak to zrobic, zeby ciastka pamietaly sesje... nie chce gotowego rozwiazania, tylko naprowadzenie jak to rozwiazac, albo chociaz prosty tutorial
greycoffey
Manual już nie działa?
michales94
dziala, ale nie moge tam znalezc jak to polaczyc. wiem jak tworzy sesje i ciasteczka, ale nie wiem jak zrobic, zeby pamietalo. to chyba nie problem w kilku slowach napisac jakby to mialo wygladac?
kinder
1.otworz sesje
Napisz sobie formularz logowania, po kliknieciu zaloguj sprawdz czy login i hasło z formularza zgadza z tym z bazą
jesli tak do zmiennej sesyjnej przypisz odpowiedni id uzytkownika zalogowanego ( $_SESSION['id'])
i na kazdej stronie podstronie zaczynaj session_start i sprawdzaj czy istnieje $_SESSION['id] jeśli tak to znaczy ze masz zalogowanego uzytkownika i moze przeglądać strone jeśli nie to wyswietl formularz logowania by mógł sie zalogować.
michales94
no dzieki, ale to akurat umiem zrobic. mi chodzi o sama kwestie ciastek. chce zeby po zaznaczeniu ZAPAMIETAJ zrobic jakies ciastko, ktore pamieta ta sesje np 5 dni, ale nie wiem co do tego ciastka zapisac, a potem nie wiem jak to odczytywac
mat-bi
Ehh

1. Tworzysz ciastko, dajesz jakieś tam unikalne id i ważność ustawiasz time() + [jakiśtamokres]
2. zapisujesz do usera ten id
3. przy każdym odczycie obsługujesz
michales94
no i wlasnie nie wiem jak zrobic ten punkt 2 i 3.

2 jak zapisuje do usera? chodzi o setcookie, czy mam zapisac w bazie?
3 a to jak rozegrac, skoro mam sesje i ciastka? najpierw mam porownac ciastka i jesli ciastko jest to potem mam pobrac ID z ciastka i zamiast session_regenerate_id mam przypisac do aktualnej sesji? tylko jak?
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.