Php session id

zanima koji je princip upotrebe session id-a nasuprot jednostavno prebacivanja podataka putem sessiona. Naime ja prebacujem vrijednosti putem sessiona ali se nekad dogodi da session pukne isto tako i svi podaci sa njim nestanu. Koja je razlika sa id-em, jer ako session pukne onda po nekoj logici i id se brise ili je pak to nesto drugo. Da li se id sprema u bazu? Ako da, onda bi se i svi preneseni podaci trebali spremati, ili…?

Hvala

Ispričavam se ali ne kužim te baš. Možeš probati malo drugačije pojasniti svoj problem/pitanje?

ok, ja ne prebacujem session id putem url-a niti ikako drugacije vec na pocetku sljedece stranice jednostavno imam session_start I putem toga prebacujem podatke.

imas nekoliko nacina prenosenja ID-a:

  • default je putem cookija (i to vjerojatno radis)
  • preko URL-a

zadnjih godina se pokusava maknuti iz URL-a

session obicno traje tako dugo dok se ne zatvori browser osim ako to drugacije u samoj inicijalizaciji cookija nije definirano.

a što se tiče samog spremanja sessiona - ili u neki temporary folder na serveru ili u bazu ili u memoriju - default je temporary folder… svaki ima svoje prednosti i mane…

al uglavnom za 99% aplikacija je dovoljna cookie metoda spremanja ID-a i folder metoda spremanja vrijednosti samog sessiona (sto ustvari i je default u PHP-u)

sta u slucaju da posjetitelj ne sprema cookije? Te zasto se dogadja da session “puca”?

a možeš provjeriti i dati mu poruku da mora spremati cookije…
ima puno razloga zasto moze puknuti… mozda ga ne prenosis na sve stranice, to je vjerojatno

rekao si gore da se id pokusava maknuti iz url-a, na koji nacine, da li ti je poznato.

napisao sam ti gore:
imas nekoliko nacina prenosenja ID-a:

  • default je putem cookija (i to vjerojatno radis)
  • preko URL-a

ne prenosis ga URL-om nego cookijem

ok sad mi je jasnije. Posto su stranice na shared hostingu citao sam negdje da je pozeljno povremeno regenerirati id kako bi se zastitio od kradje id-a, ali pretpostavljam da se ovo odnosi na prenosenje Id preko url-a.

Da. U principu možeš provjeravati prilikom otvaranje svake stranice podudara li se ID u cookieju sa onim u URLu. Ako se ne podudara (odnosno, ako je korisnik pokušao ručno utipkati neki ID u URL), onda možeš poduzeti neke sankcije i/ili upozoriti korisnika te ga redirektati na stranicu za prijavu itd itd.

Evo me ponovno so se tice sessiona i prenosenja vrijednosti. Recimo da imam formu na page1.php stranici koja preko page2.php provjerava sve vrijednosti te u slucaju da sve odgovara preusmjerava na page3.php. Znaci stranica page2.php hvata preko get metode sve vrijednosti sa prve stranice i preusmjerava se na trecu stranicu gdje preko session-a hvatam vrijednosti koje su na 2 stranici kreirane. Moj problem je da ponekad se dogodi da se vrijednosti na 3 stranicu jednostavno ne prmeseu tj. Session jednostavno nestane. Znaci ne radim gresku u prenosenju nego recimo od 10 puta jednom se dogodi da session “pukne”. Znaci ne prenosim session id preko url-a niti preko forme nego jednostavno “upalim” session start na stranicama i preko sessiona prebacujem vrijednosti, ali eto imam taj problem da mi se dogadja da session ponekad ne funkcionira. Ima li netko iskustva sa tim pa da javi.