Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP]Rodzaje Cookies i Sesje?, Jakie są rodzaje cookies i jak stosować sesje?
Soks
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 11.03.2010

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


Chciałbym zacząć od tego iż raczej rzadko zadaje pytania na forach, ale tym razem temat wydaje mi się być dosyć trudny i chciałbym by ktoś "poukładał" mi wszystko w głowie. Czytając różne artykuły na temat cookies nauczyłem się je tworzyć. Dość szybko zauważyłem, że wygasają po zamknięciu przeglądarki i większość (jak nie wszystkie) przeglądarki mają ustawione by właśnie po jej zamknięciu ciasteczka wygasały. Tworzę własny "system" głosowania, więc chciałem się jakoś zabezpieczyć przed powtórnym głosowaniem, zastosowałem blokadę IP, ale uważam, że to trochę za mało. Potrzebuję, więc cookies lub sesji. Im bardziej zagłębiam się w temat tym bardziej wydaje się być to skomplikowane. Czytając napotkałem się z różnymi rodzajami cookies. Czy ktoś mógłby mi je bardziej opisać? Przeczytałem o cookies:

- cookies zwykłych - wygasają po zamknięciu przeglądarki, z tym nie miałem problemu
- cookies trwałych lub stałych - zapisywane na dysku i nic więcej się nie mogłem dowiedzieć, w jakim języku programowania się je tworzy czy coś, dosłownie nic
- cookies flashowych - także zapisywanych na dysku, najprawdopodobniej tworzy je się w ActionScript, ale nie wiem
- cookies sesyjnych - jak sądzę sesje je tworzą, ale czy także wygasają po zamknięciu przeglądarki?

Teraz tak moim głównym problemem jest jak zrobić w momencie, gdy ktoś ma zmienne IP, nie mógł głosować dwa razy w ciągu 24h? Próbowałem ze zwykłymi cookies ale wygasają po zamknięciu przeglądarki, chciałem zrobić to w sesjach, lecz one w momencie gdy ktoś wejdzie na stronę zaczną odliczać czas od początku. Szukałem czegoś o cookies trwałych, lecz nic nie znalazłem. Czy ktoś mógłby mi wyjaśnić jakie są rodzaje cookies i je opisać oraz zasugerować czym najlepiej zrobić taką blokadę w momencie gdy ktoś ma zmienne IP? Z góry dziękuję za każdą pomoc.
Go to the top of the page
+Quote Post
muniekw
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 22
Dołączył: 1.06.2009
Skąd: Warszawa

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


Jeśli ktoś ma zmienne IP to ja szczerze nie widziałem jakiegoś sensownego zabezpieczenia. Zrestartujesz modem i po sprawie.
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A więc tak naprawdę niepotrzebnie rozdrabniałeś je wszystkie bo to trochę jak oceniać kobiety po kolorze włosów. Co z tego że jedna ma blond, a inna to szatynka? To samo jest z cookies. Różnica między nimi w zasadzie jest znikoma. Choćby te które nazywasz zwykłymi, a te uznawane za stałe... Mają tylko inny czas wygaśnięcia ustawiony (IMG:style_emoticons/default/smile.gif) Jeśli cookies ma tę datę ustawioną na przeszłość to zniknie po zamknięciu, ale jeśli przyszłość to będzie do tej daty ważne. Jeśli więc ustawisz w cookies północ danego dnia to do tej godziny będzie ono ważne i blokowało by ponowne głosowanie. Ale niestety userzy czyszczą cookies, więc w tym momencie by się całość rypnęła. Każdy rodzaj ciastek w takim momencie poleci. Niezależnie od tego czy to się Tobie podoba czy nie. By zablokować arbitralnie, musiałbyś wymusić na userach zalogowanie się i oflagować "ten user już głosował". Każda inna forma wymaga już analizy głosów pod kątem badania user_agenta, adresów IP, rodzaju systemu operacyjnego, rozdzielczości ekranu i tym podobnych kombinacji by wyłapać osoby siedzące za proxy, ze zmiennym IP i w różny sposób próbujące oszukiwać.
Go to the top of the page
+Quote Post
Soks
post
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 11.03.2010

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


Właśnie chodzi oto, że jak ustawie, by cookies wygasło za 24h to i tak ono wygaśnie po zamknięciu przeglądarki, bo ono jest zapisywane w przeglądarce. A mi chodzi oto by ktoś wytłumaczył mi jak zrobić cookies zapisywany na dysku, wtedy przy zamknięciu przeglądarki nie usunie się. Myślałem też o cookies flashowych, ale też nie wiem jak to działa, dlatego też proszę o Waszą pomoc. (IMG:style_emoticons/default/snitch.gif)

PS. A może da się to zrobić w sesjach?


Edit.

Wymyśliłem coś takiego.
W sesjach oprócz tych danych "właściwych", że zapiszę też datę utworzenia sesji i jeżeli data utworzenia sesji będzie 24h lub więcej dalsza od daty utworzenia sesja wygaśnie. Chciałem zapytać jeszcze zanim zacznę pisać czy takie coś w ogóle zadziała i na jakiej zasadzie działa sesja, bo czytałem, że domyślnie przechowuje się 24min, ale czy nie wygaśnie po zamknięciu przeglądarki i jak wydłużyć czas działania tej sesji?

Ten post edytował Soks 11.03.2010, 22:36:53
Go to the top of the page
+Quote Post
JulekJP
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 7.03.2009

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


Sessje tylko są aktywne do zamknięcia przeglądarki.. A cookies moze ustawic nawet na rok i przeglądarka po wyłączeniu nie usunie, jedynie może użytkownik.
Go to the top of the page
+Quote Post
Soks
post
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 11.03.2010

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


W takim razie, dlaczego przeglądarka usuwała mi cookies, po zamknięciu przeglądarki? Wkleję kawałek kodu jak tworzyłem cookies.

  1. setcookie("$nazwa", '1', time()+86400);


Mam Mozille i domyślnie ustawione: "Akceptuj ciasteczka z innych witryn, Przechowuj: do zamknięcia programu Firefox" i chyba większość przeglądarek ma tak ustawione, tylko zdziwiło mnie też dlaczego niektóre ciasteczka się nie usuwają po zamknięciu przeglądarki a moje się usuwa. Być może to jest właśnie cookies stałe?


Edit.
Doszedłem do następującego wniosku, chyba, że się gdzieś pomyliłem to mnie wyprowadźcie z błędu:
Jeżeli sesje wygasają po zamknięciu przeglądarki to jest to rozwiązanie, które z góry odpada. Następnie, cookies sesyjne też odpada bo to jest praktycznie to samo co zwykłe cookies, tylko, że zapisywane przez sesje losowo. Cookies stałe i zwykłe to chyba to samo z tą różnicą, że w jednym jest określona data wygaśnięcia, a w drugim nie. Rozwiązanie mogłoby być cookies flashowe, o których raczej mało osób wie i przeglądarka ich nie usuwa, ale nie chce mi się szukać, ani uczyć jak się je tworzy. Dlatego też postanowiłem użyć cookies stałych, zresztą już to napisałem i pozostaje mi liczyć na to, że większość przeglądarek ma ustawione, żeby trzymać ciasteczka do wygaśnięcia.

Ten post edytował Soks 12.03.2010, 12:14:27
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: 26.12.2025 - 08:24