Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dostep do czesci strony przez okreslony czas
Forum PHP.pl > Forum > PHP
a79rtur
czesc
mam taka sytuacje ze użytkownik ma mieć dostęp do częsci strony przez określony czas. klika przycisk i zaczyna się odliczanie.
rozwiazałem to za pomocą sesji tzn przy kliknieciu przycisku ustawia sie zmienna o wartosci time()+przez_ile_widoczna. zmienna ta zarówno przechowuje ten czas jak i jest flagą trybu widocznosci. przy przeladowaniu strony sprawdzane jest czy czas jest wiekszy od obecnego, jesli nie jest to zmienna sesyjna jest niszczona.
czy to dobra metoda? myslalem o cookies, ale boje sie ze jakis sprytny uzytkownik moze wyedytowac takie cookie i zamiast dostepu 1h zrobi sobie 10000h smile.gif
mario
Moim zdaniem dobre rozwiązanie. Dodatkowo możesz wrzucić do stronki zegarek w JAVA który będzie odliczał, a w kodzie dać przeładowanie strony po zadanym odliczaniu. Wtedy gościu widzi ile czasu mu zostało, a jak minie - zostanie przekierowany na inną stronę smile.gif

Cookies odradzam gdyż jak sam napisałeś może user sobie ciasteczko zedytować - to nie problem.
a79rtur
a czy jesli sa sesje oparte na cookies to w cookie jest zapisane tylko id sesji czy cos jeszcze ? i w jakiej to jest postaci, zakodowane jakos ?
hamlecik
Ja swojego czasu zrobilem to tak jak Ty a79rtur. Po prostu zapisywalem do bazy do kiedy jest czas dostepu dla danego usera. Przy kazdym refresh'u skrypt pobieral z bazy czas dla danego usera i sprawdzal go z aktualnym czasem. Mysle, ze nie warto kombinowac tu z cookies, bo trzymanie czasu dostepu w cookies pociaga za soba pewne konsekwencje, kazdy chyba wie jakie biggrin.gif No mozna szyfrowac zawartosc cookie, ale po co?
dr_bonzo
Cytat
klika przycisk i zaczyna się odliczanie.
rozwiazałem to za pomocą sesji tzn przy kliknieciu przycisku ustawia sie zmienna o wartosci time()+przez_ile_widoczna. zmienna ta zarówno przechowuje ten czas jak i jest flagą trybu widocznosci.


W cookiesach nie przechowuj czasu jaki zostal do konca wyswietlania strony.

Cytat
Moim zdaniem dobre rozwiązanie. Dodatkowo możesz wrzucić do stronki zegarek w JAVA który będzie odliczał, a w kodzie dać przeładowanie strony po zadanym odliczaniu. Wtedy gościu widzi ile czasu mu zostało, a jak minie - zostanie przekierowany na inną stronę smile.gif


Po co -- mozna to wylaczyc, a strone sobie zapisac na dysku.

Cytat
a czy jesli sa sesje oparte na cookies to w cookie jest zapisane tylko id sesji czy cos jeszcze ? i w jakiej to jest postaci, zakodowane jakos ?

W ciasteczku sesyjnym jest zapisane tylko ID sesji, mozesz utworzyc inne ciasteczka dla tej samej strony i wrzucic do nich wszystko.
ActivePlayer
generujesz unique id. zapisujesz w bazie to id i czas startu.
userowi ustawiasz tylko ciastko z md5(id) i nawet jak by bardzo chcial to nic nie zrobi. a czas obliczasz tak jak mowiles smile.gif
a79rtur
do dr_bonzo:
napisałes:

Cytat
W cookiesach nie przechowuj czasu jaki zostal do konca wyswietlania strony.


ja napisalem ze zapisuje to zapisuje w zmiennej sesyjnej

a pozniej :

Cytat
W ciasteczku sesyjnym jest zapisane tylko ID sesji, mozesz utworzyc inne ciasteczka dla tej samej strony i wrzucic do nich wszystko.


czyli jak to w koncu jest ? jest cos poza id sesji w ciastku sesyjnym czy nie ?
dr_bonzo
Cookie to jest para (nazwa, wartosc). Jedno cookie jedna wartosc. Czyli w cookie sesyjnym jest tylko ID sesji.
SongoQ
Ja nie widze sensu zabezpieczas po stronie przegladarki bo wiekszosc userow sobie poradzi z tym. Jedyne zabezpieczenie jaki bym dal to czas miedzy stronami (czas zycia sesji)
jono
no, można dodac czas przeładowania w <meta> i wyświetlać go z bazy. Tam się podaje w sekundach, więc to jest łatwe. A na koniec wywali go ze strony smile.gif Ale po prawdzie to bez sensu - wystarczy, że zrobi "zapisz Jako" i już ma nieograniczony dostęp do twoich treści. Więc ograniczony czas logowania to najlepsze rozwiązanie...
ActivePlayer
Cytat
Ale po prawdzie to bez sensu - wystarczy, że zrobi "zapisz Jako" i już ma nieograniczony dostęp do twoich treści. Więc ograniczony czas logowania to najlepsze rozwiązanie...

a jak bedzie
Cytat
ograniczony czas logowania

to nie bedzie mogl zrobic 'zapisz jako' ?
a79rtur
tu nie chodzi o to zeby nie mogl zrobic zapisz jako, niech sobie daje, byle mogl przegladac strony np. z ogloszeniami tylko w ograniczonym czasie.
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.