COOKIE problem

COOKIE problem

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Naišao sam na zanimljiv problem. GUZ - Glavom U Zid Ali za početak moram objasniti šta sam sve uradio:

1) Napravio sam CMS gde preko index.php vuče sve iz baze podataka.

2) Imam .htaccess fajl gde prepisujem sve PHP URL kodove
Options +SymLinksIfOwnerMatch Options +FollowSymlinks RewriteEngine On RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ /site/index.php?component=$1&option=$2&suboption=$3&id=$4&title=$5 [L] RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ /site/index.php?component=$1&option=$2&suboption=$3&id=$4 [L] RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /site/index.php?component=$1&option=$2&suboption=$3 [L] RewriteRule ^([^/]*)/([^/]*)\.html$ /site/index.php?component=$1&option=$2 [L] RewriteRule ^([^/]*)\.html$ /site/index.php?component=$1 [L]
Ovaj kod mi omogućuje da umesto:
http://localhost/site/index.php?component=kategori.....tle=naslov
dobijem URL:
http://localhost/site/kategorija/vesti/iz_zemlje/54/naslov.html

3) Imam login stranicu na indexu gde se korisnici uloguju.

PROBLEM:
Kada se ulogujem i krenem posećivati sve stranice kao korisnik, iz početka mi se cookie duplira za svaku stranicu koju posetim. isti naziv cookija, isti podatci unutar njega ali svaki link gleda kao zaseban folder i za njega postavi cookie. Kad hoću da se izlogujem onda se mogu izlogovati samo sa one stranice u kojoj se nalazim a na ostalim sam još ulogovan. U PHP-u nema dupliranja koda, proverio sam, neznam zašto se automatski postavlja.

Imao neko nešto slično?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 16 Jan 2010
  • Poruke: 241
  • Gde živiš: Zemun

Pogledaj path koji je namešten za cookie. Koliko ja znam treba da stoji samo "/". To je problem sa rewrite-om, jer to browser gledao kao foldere i nivoe. Pri kreiranju cookie-a stavi da ti je path root ili "/".



offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

cvrlebg ::Pogledaj path koji je namešten za cookie. Koliko ja znam treba da stoji samo "/". To je problem sa rewrite-om, jer to browser gledao kao foldere i nivoe. Pri kreiranju cookie-a stavi da ti je path root ili "/".

Interesantno je kada stavim tako neće ni da postavi cookie a ne ispiše grešku.
Kada stavim:
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
Neće da ga postavi. A ako stavim samo:
setcookie("TestCookie", $value, time()+3600);
onda postavi cookie ali mi duplira. Zbunjen sam. Kako ti postavljaš?

offline
  • Pridružio: 16 Jan 2010
  • Poruke: 241
  • Gde živiš: Zemun

setcookie("TestCookie", $value, time()+3600, "/");
ili
setcookie("TestCookie", $value, time()+3600, "/naziv_direktorijuma/");

U prvom primeru koji si ti stavio, izabrao si da ide preko https-a, a čisto sumnjam da to imaš. Najverovatnije zbog toga nije uspeo da ti napravi cookie.

Gore su ti primeri kako pravim cookie. Drugi primer je kada radim u lokalu, pa da se zna za koji sajt se odnosi.

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

cvrlebg ::setcookie("TestCookie", $value, time()+3600, "/");
ili
setcookie("TestCookie", $value, time()+3600, "/naziv_direktorijuma/");

U prvom primeru koji si ti stavio, izabrao si da ide preko https-a, a čisto sumnjam da to imaš. Najverovatnije zbog toga nije uspeo da ti napravi cookie.

Gore su ti primeri kako pravim cookie. Drugi primer je kada radim u lokalu, pa da se zna za koji sajt se odnosi.


Hvala ti, shvatio sam grešku.
setcookie("TestCookie", $value, time()+3600, "/naziv_direktorijuma/");
Ovo je rešenje koje sam tražio. Ipak je bio problem kod mene. Ranije sam uvek imao otvoren PHP kod i radio sam sa stranicama ali sada sve zatvaram i nisam imao iskustva sa ovim.

Da li je pametnije da koristim $_SESSION? Pitam zbog sigurnosti. Mislim u cookie mi se nalazi samo ID korisnika i generisana šifra ali je generator ključa moj izum i nema dekriptor za njega, niti ga i ja mogu dekriptovati a unikatan je za svakog korisnika.

offline
  • Pridružio: 16 Jan 2010
  • Poruke: 241
  • Gde živiš: Zemun

Koliko ja znam i jedno i drugo ima svojih prednosti i mana. Malo pogledaj po netu kako se može da se zaštitiš od krađe kukija i sesija, kako zaštititi podatke u njima, itd.

Što se tiče čuvanja podataka ulogovanog korisnika, sam odluči, da li bi više voleo da korisnik kada jednom pristupi admin panelu, može kasnije stalno da pristupa (dok kuki u pretraživaču postoji) bez login forme ili želiš da se svaki put loguje.

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

cvrlebg ::Koliko ja znam i jedno i drugo ima svojih prednosti i mana. Malo pogledaj po netu kako se može da se zaštitiš od krađe kukija i sesija, kako zaštititi podatke u njima, itd.

Što se tiče čuvanja podataka ulogovanog korisnika, sam odluči, da li bi više voleo da korisnik kada jednom pristupi admin panelu, može kasnije stalno da pristupa (dok kuki u pretraživaču postoji) bez login forme ili želiš da se svaki put loguje.


Za administraciju je obavezno stalno logovanje. SESSION obavezno ovde koristim. Dok je god Browser upaljen da je on ulogovan ali i tu dajem sesiju od 10min. Pa ako ne radi niša SESSION se izgubi.

Ko je trenutno na forumu
 

Ukupno su 611 korisnika na forumu :: 15 registrovanih, 1 sakriven i 595 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 39mm, A.R.Chafee.Jr., Battlehammer, Darko8, esx66, GenZee, Koridor, Lutvo_Redzepagic, minmatar34957, muaddib, nenad81, opt1, powSrb, sasa87, Volkhov-M