Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPSESSID
Forum PHP.pl > Forum > PHP
FiDO
czy mozna jakos latwo skrocic ID sesji generowane przez php?
32 dodatkowe znaki w url'u czynia go troche brzydkim, mysle, ze z 10 znakow spokojnie by starczylo w ID sesji mamy litery i cyfry, czyli 34 rozne znaki, przy 10 znakach daje to 34^10 = 2064377754059776 roznych komibacji, wiec chyba byloby to wystarczajaco bezpieczne, tymbardziej ze strona ma malo odwiedzin, i rzadko w ogole zdarza sie, zeby bylo kilka osob naraz.
kurtz
Cytat
czy mozna jakos latwo skrocic ID sesji generowane przez php?
poczytaj o array_rand().
FiDO
skleilem cos takiego:
Kod
session_name("SID");

if (!$_GET[session_name()]

&& !$_POST[session_name()]

&& !$_COOKIE[session_name()])

    session_id(generate_sid());

session_start();

itd.

Czyli chce, zeby ID sesji nie byl generowany przy przechodzeniu do kazdej podstrony, tylko 1 ID dla jednej osoby na caly czas jej pobytu.
Czy te 3 sposoby wystarcza na sprawdzenie czy istnieje juz sid dla danej osoby, czy moze sa jeszcze jakies drogi przekazaywania sid'a?
kurtz
Cytat
Czyli chce, zeby ID sesji nie byl generowany przy przechodzeniu do kazdej podstrony, tylko 1 ID dla jednej osoby na caly czas jej pobytu.

to akurat masz zapewnione. tak dzialaja sesje.
Cytat
Czy te 3 sposoby wystarcza na sprawdzenie czy istnieje juz sid dla danej osoby, czy moze sa jeszcze jakies drogi przekazaywania sid'a?

wystarczy
Kod
session_start();


poczytaj rozdzial Sesje w manualu. dotychczas robiles to chyba bardzo fragmentarycznie.
FiDO
Cytat
to akurat masz zapewnione. tak dzialaja sesje.

Tak, ale zauwaz, ze mam generowane recznie ID sesji i jak nie mam tych ifow to SID sie generuje przy kazdym przejsciu na inna podstrone, a tak nie ma byc, co wlasnie zalatwiaja te ify.
Cytat
poczytaj rozdzial Sesje w manualu. dotychczas robiles to chyba bardzo fragmentarycznie.

Sugerujesz, ze jest w tym kodzie blad? Nie twierdze, ze nie, ale w takim razie powiedz gdzie.
kurtz
Cytat
Cytat
to akurat masz zapewnione. tak dzialaja sesje.

Tak, ale zauwaz, ze mam generowane recznie ID sesji
wiec sprawdzaj czy istnieje id sesji. po utworzeniu zapisz je np w $_SESSION['id_sesji'] . jest nie jest ustawione, sesja nie wystartowala.
FiDO
Cytat
wiec sprawdzaj czy istnieje id sesji. po utworzeniu zapisz je np w $_SESSION['id_sesji'] . jest nie jest ustawione, sesja nie wystartowala.

Tez sprawdzam, ale inaczej, bo sprawdzajac tablice _GET, _POST i _COOKIE, jedyne drogi przekazywania SID'a.
A ten Twoj pomysl chyba nie jest najlepszy, bo jezeli ja chce miec generowane przez siebie ID, to musze ustawic session_id() przed session_start(), a przed session_start() nie sprawdze wg Twojego sposobu czy istnieje ID.
kurtz
Cytat
Tez sprawdzam, ale inaczej, bo sprawdzajac tablice _GET, _POST i _COOKIE, jedyne drogi przekazywania SID'a.
nie mowie o sprawdzaniu id sesji tylko ustawieniu jakiejs (jakiejkolwiek) zmiennej w sesji - jesli bedzie istniala to i sesja bedzie dzialala.
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.