Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wielokrotne logowanie
R4D3K
post
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:

  1. <?php
  2. if (isset($_SESSION['id'])) {
  3. // pokaz galerię
  4. }
  5. else {
  6. // powiedz userowi że musi się zalogować
  7. }
  8. ?>


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
R4D3K
post
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 ?
Go to the top of the page
+Quote Post

Posty w temacie
- R4D3K   [PHP] Wielokrotne logowanie   30.06.2009, 13:47:43
- - maly_swd   Podczas logowania zapisz IP na ktorym jest zalogow...   30.06.2009, 14:08:52
- - R4D3K   @maly_swd to za bardzo problemu nie rozwią...   30.06.2009, 14:31:46
- - Wicepsik   Może identyfikacja przez MAC ? 1 konto = 1 MA...   30.06.2009, 14:50:33
- - kfc4   Zapisujesz w bazie login i id sesji. Jak kto...   30.06.2009, 14:53:58
- - MateuszScirka   Zrob przy rejestracji ciasteczko ktore tam ma czas...   30.06.2009, 14:57:34
- - kfc4   Mateusz: nie wypali pomysł bo: -zmiana komputera; ...   30.06.2009, 15:01:40
- - MateuszScirka   kfc4, trzeba by sie nad tym glebiej zastanowic   30.06.2009, 15:12:52
- - dworakex   Do tabeli z userami dodajesz pole "sid" ...   30.06.2009, 15:15:45
- - R4D3K   @Wicepsik Jak zrobić porównywanie adresu MAC...   30.06.2009, 15:27:29
- - dworakex   Dlaczego nei regenerować id? Albo wymusić stosowan...   30.06.2009, 15:31:33
- - R4D3K   Hmmm no tak regenerować id sesji mogę to co wtedy ...   30.06.2009, 15:34:55
- - erix   CytatMoże identyfikacja przez MAC ? 1 konto = 1 MA...   30.06.2009, 17:55:18
- - R4D3K   Tak PHP jako język po stronie serwera nie ma dostę...   30.06.2009, 22:27:09
- - pgrzelka   temat pobierania adresu mac jest poruszony w Archi...   30.06.2009, 22:41:54
- - erix   Adres MAC, to kiepski pomysł, gdyż w przypadku pro...   30.06.2009, 22:50:57
- - R4D3K   @pgrzelka dzięki za info, gdyby nie ty dalej ...   30.06.2009, 23:26:24
- - erix   skrypt jest dziurawy (SQL Injection)MD5 też można ...   1.07.2009, 14:39:32
- - R4D3K   dzięki erix, to że jest dziurawy to wiem już nie d...   2.07.2009, 21:56:22
- - MolTAR   A nie można by do tabeli z użytkownikami dodać pol...   2.07.2009, 22:15:08
- - R4D3K   A jeśli użytkownik nie kliknie "WYLOGUJ...   2.07.2009, 22:18:33
|- - bełdzio   Cytat(R4D3K @ 2.07.2009, 23:18:33 ) A...   2.07.2009, 22:29:46
- - MolTAR   zdarzenie zamykania przeglądarki z tego co wiem mo...   2.07.2009, 22:27:14
- - R4D3K   GC ? chodzi o tą odśmieciarkę ? Bełdzio możesz rzu...   2.07.2009, 22:32:58
- - erix   Cytatzdarzenie zamykania przeglądarki z tego co wi...   2.07.2009, 23:05:58
- - MolTAR   Możesz też dać użytkownikowi ciasteczko na taki cz...   3.07.2009, 09:05:57
- - R4D3K   Dobra, ale tak myślałem żeby zamiast ciasteczka uż...   3.07.2009, 10:27:53
- - rzymek01   moim zdaniem: - sesje PHP wraz z własnym mechanizm...   3.07.2009, 10:49:45
- - bełdzio   takie cos mi jeszcze w lozku przyszlo do glowy ;-)...   3.07.2009, 11:20:40
|- - fander   Cytat(bełdzio @ 3.07.2009, 12:20:40 )...   3.07.2009, 11:37:38
- - R4D3K   CytatAlbo inaczej gdy znajdzie użytkownika o takim...   4.07.2009, 09:02:31
- - crackcomm   Gdy użytkownik się loguje SID jest dodawany do baz...   4.07.2009, 19:12:55
|- - rzymek01   Cytat(crackcomm @ 4.07.2009, 20:12:55...   5.07.2009, 08:19:39
|- - crackcomm   Cytat(rzymek01 @ 5.07.2009, 09:19:39 ...   5.07.2009, 14:24:20
|- - rzymek01   Cytat(crackcomm @ 5.07.2009, 15:24:20...   5.07.2009, 14:30:51
|- - bełdzio   Cytat(rzymek01 @ 5.07.2009, 15:30:51 ...   5.07.2009, 16:42:28
- - Kethrax   Witam, Ja bym zrezygnował wogóle z cookies. ...   5.07.2009, 11:57:47
- - R4D3K   Dzięki Wam za odpowiedzi. Najbardziej podoba mi s...   5.07.2009, 22:27:28
- - rzymek01   Cytat(R4D3K @ 5.07.2009, 23:27:28 ) N...   6.07.2009, 11:10:35


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: 14.10.2025 - 00:33