![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, na początku chce zaznaczyć, że to nie jest problem poruszany n-ty raz, przeszukałem koło 100 tematów na tym forum dotyczących logowania i nie znalazłem odpowiedzi, google milczało, chyba że nie wiem jak zadać pytania dla wujka google, jeśli tak to przepraszam. (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Posiadam stronę na której jest galeria ze zdjęciami i aby można było je obejrzeć użytkownik musi być zalogowany i mój problem polega na tym iż 1 osoba się rejestruje i podaje reszcie swój login i hasło i jednocześnie oglądają zdjęcia. Z praktyki wiem że w jednym czasie na 1 loginie przegląda zdjęcia nawet 4 użytkowników jednocześnie. Chcę to wyeliminować i zmusić każdego z tych użytkowników to założenia konta. Na podstronie z galerią sprawdzam, czy osoba jest zalogowana za pomocą sesji:
próbowałem używać session_regenerate_id()" title="Zobacz w manualu PHP" target="_manual , także dodałem regułę do pliku htaccess: Kod php_value session.use_only_cookies 1 php_value session.use_trans_sid 0 Oczywiście pozwoliło to wyeliminować spryciarzy, którzy przesyłali link już po zalogowaniu, ale dalej mojego problemu to nie rozwiązało. Myślałem o tym,żeby stworzyć tabelę z id_usera i id_session i sprawdzać co każde wylistowanie zdjęć czy id sesji zgadza się z orginałem. Jednak czy to pomoże czy tylko obciąży serwer ? Czy może lepiej wysyłać jakieś ciasteczko, czy też sprawdzać odstęp czasu pomiędzy logowaniami czy w jakiś sposób sprawdzać czy dany użytkownik jest zalogowany ? (jeśli tak to w jaki ?) Prosiłbym tych, którzy spotkali się z tym problemem, żeby opisali jak sobie z tym poradzili, może ktoś wklei jakiś kawałek kodu Z góry dzięki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, ale tak myślałem żeby zamiast ciasteczka użyć session_cache_expire()" title="Zobacz w manualu PHP" target="_manual
Wyglądały by to tak: * ustawiam sobie czas np 30 minut "życia sesji" * przy logowaniu zapisuje sobie do zalogowany= time(), jeśli będzie zero znaczy ze nie jet zalogowany jeśli będzie coś innego =>zalogował się * przy próbie logowania sprawdzam pole zalogowany i porównuje czasy. * Jeśli czas zalogowania jest mniejszy jak 30 minut to znaczy, że user jest zalogowany już. Tylko mam takie pytanie czy da się sprawdzić, ile czasu jeszcze zostało do wygaśnięcia danej sesji ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 00:33 |