Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Serialize w Cookie
bartexx
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2010

Ostrzeżenie: (0%)
-----


Witam serdecznie umieściłem tablicę w COOKIE w ten sposób:
  1. $tablica = array('a' => 'pierwszy', 'b' => 'drugi');
  2. setcookie('tablica', serialize($tablica) );
  3.  

A problem zaczyna się gdy chcę odkodować w innym pliku $_COOKIE['tablica']
  1. print_r(unserialize($_COOKIE['tablica']));


Problem jest taki że nie chce mi tej komendy wykonać (IMG:style_emoticons/default/sad.gif) Może ktoś zna sposób (IMG:style_emoticons/default/questionmark.gif) Z góry dzięki
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie chce wykonać bo? Masz błąd? Ciasteczko ma w ogóle jakąkolwiek wartośc?
Go to the top of the page
+Quote Post
Zyx
post
Post #3





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Zserializowanych danych nie powinno się umieszczać w ciastkach ze względów bezpieczeństwa. Czy pomyślałeś o sytuacji, gdy ktoś sobie podmieni ciastko w taki sposób, by zamiast tablicy odserializowywało Ci obiekt jakiejś klasy?
Go to the top of the page
+Quote Post
bartexx
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2010

Ostrzeżenie: (0%)
-----


Moim zamiarem jest przechowywanie ID kilku klientów w Tablicy a tablice w COOKIE... Bezpieczne to jest (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie...
Go to the top of the page
+Quote Post
bartexx
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2010

Ostrzeżenie: (0%)
-----


Tak sobie pomyślałem a gdyby zamiast Id przechowywać tam e-mail klienta?? Było by bardziej bezpieczne...
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dowiedz się co to sesja. To Ci w zupełności wystarczy.
Go to the top of the page
+Quote Post
bartexx
post
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2010

Ostrzeżenie: (0%)
-----


Ja wiem co to sessja... ale jak wzyłącze przeglądarek to sessja gaśnie a wraz z tym wszystkie dane klienta... a to chodzi o to aby klient miał zapisane swoje konto w podpowiedziach za pomocą grafiki a nie podpowiedzi w formularzu


Co sądzisz o moim pomyśle?? jest on wykonalny (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #9





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

Ostrzeżenie: (0%)
-----


Cytat(bartexx @ 6.05.2011, 21:06:48 ) *
Ja wiem co to sessja... ale jak wzyłącze przeglądarek to sessja gaśnie a wraz z tym wszystkie dane klienta...

Lubię kontrasty. Niby wiesz co to, ale nie masz pojęcia jak działa.
Poczytaj o session_set_cookie_params i tym podobnych.
Go to the top of the page
+Quote Post
bartexx
post
Post #10





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2010

Ostrzeżenie: (0%)
-----


Masz racje pierwszy raz spotykam się z taką funkcją... Ale z tego co przeczytałem i zrozumiałem to ta funkcja przedłuża czas aktywności sesji nawet po wyłączeniu przeglądarki.

Zobacz na to bartexweb.cba.pl. Mi chodzi o to aby te małe graficzne okienka były przypisane do klienta (nawet jak po roku odpali jeszcze raz tą stronkę ) który będzie chciał aby był zapamiętany na stronie głównej... i maksymalnie 10 klientów może być w ten sposób zapamiętanych
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #11





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

Ostrzeżenie: (0%)
-----


Nie. Ta funkcja nie przedłuża aktywności sesji. Ona może przedłużyć żywotność ciastka z id sesji.
Domyślnie, sesje są trzymane na serwerze w plikach. Id sesji jest wysyłane ciachem.

Żeby utrzymać sesję potrzebna jest żywotność obu tych elementów.
O tym jak przedłużyć życie samej sesji przeczytasz w komentarzach na stronie, do której adres wcześniej podałem.

Niemniej jednak, jeśli chcesz to trzymać przez bardzo długi okres czasu to polecam zrobić cos jeszcze.

session_save_path pozwoli Ci zapisać dane sesji u Ciebie, dzięki czemu nie będzie obawy, że administracja serwera coś wyczyści (o ile pamiętam PHP domyślnie je trzyma w /tmp). Ważne tylko, żeby ten folder nie był dostępny z zewnątrz ze względów bezpieczeństwa. Najlepiej go wrzucić powyżej public_html, ewentualnie zablokować w .htaccess lub nadać mu nazwę rozpoczynającą się od .ht, jeśli korzystasz z Apache.

Co jednak chyba byłoby dla Ciebie najlepsze to session_set_save_handler. Możesz po prostu stworzyć kilka prostych funkcji i zapisywać sesje np. do bazy. To już Ci daje bardzo dużą elastyczność i kontrolę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 04:26