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: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%)
|
Podczas logowania zapisz IP na ktorym jest zalogowany dany login:) Jesli login nie zgadza sie z IP to musi sie zalogowac:)
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
@maly_swd to za bardzo problemu nie rozwiąże, bo przeważnie logują się na 1 loginie Ci z tego samego "osiedla" co się wiąże z tym, żę mają takie samego providera -> ten sam adres IP. Wiem to po logach.
Ten post edytował R4D3K 30.06.2009, 14:32:13 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%)
|
Może identyfikacja przez MAC ?
1 konto = 1 MAC Ten post edytował Wicepsik 30.06.2009, 14:53:18 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 18 Dołączył: 7.10.2007 Ostrzeżenie: (0%)
|
Zapisujesz w bazie login i id sesji. Jak ktoś się loguje to sprawdzasz czy taki login już istnieje w tabeli (po np. pół godzinie nie aktywności kasujesz rekord (sprawdzasz pole w którym zapisujesz ostatnią aktywność)), jak tak to porównujesz z id sesji, jeżeli są różne to wywalasz komunikat, że musi mieć własny login, jak się zgadza to przepuszczasz. Aby zapobiec użytkownikom, wyłączającym komputer bez wylogowania i włączającym go za 15 minut możesz w ciasteczkach trzymać coś indywidualnego np. time+nazwa przeglądarki i to porównywać zamias id sesji.
Ja kiedyć porówynywałem ciasteczko z zawartością w bazie, rekord kasowałem po 30 minutach nie aktywności (razem z ciasteczkiem). Ten post edytował kfc4 30.06.2009, 14:56:14 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%)
|
Zrob przy rejestracji ciasteczko ktore tam ma czas time()+9999999999999999 i potem sprawdzaj przy logowaniu czy to ciacho istnieje jak nie to niech koles spieprza
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 18 Dołączył: 7.10.2007 Ostrzeżenie: (0%)
|
Mateusz: nie wypali pomysł bo:
-zmiana komputera; -przeglądarki; -format; -logowanie u kogoś innego; -wyczyszczenie danych prywatnych -i jeszcze parę innych |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%)
|
kfc4,
trzeba by sie nad tym glebiej zastanowic |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 1 Dołączył: 30.06.2009 Ostrzeżenie: (10%)
|
Do tabeli z userami dodajesz pole "sid" gdzie zamieszczasz identyfikator sesji i pole "time" gdzie wstawisz czas w timestamp. Przy logowaniu każdy dostaje sida, którego dodajemy do bazy danych. Jeśli aktualny timestamp będziewiększy od "time"+1800 (czyli jesli przez pol godziny nioe będzie zadnej akcji" to zmieniasz "sid" na 0. Przy logowaniu sprawdzamy czy "sid"==0. Dodajesz też opcję wyloguj, która też ustawia SID na 0.
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
@Wicepsik
Jak zrobić porównywanie adresu MAC w PHP ? @dworakex Zapisywanie w tabeli id sesji, też na tym myślałem, ale tu pojawia się problem z początku, osoba nie zalogowana uzyska dostęp tam gdzie nie powinna. Wystarczy się zalogować, wyłączyć cookie i przesłać komuś linka z PHPSESSID, także trzeba co każde wyświetlenie strony korzystać z session_regenerate_id(), co wyklucza porównanie z id sesji w bazie. @MateuszScirka Cytat ]Zrob przy rejestracji ciasteczko ktore tam ma czas time()+9999999999999999 i potem sprawdzaj przy logowaniu czy to ciacho istnieje jak nie to niech koles spieprza Właśnie do mnie wchodzą tacy cfaniacy co sobie z tym radzą. Ten post edytował R4D3K 30.06.2009, 15:28:10 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 1 Dołączył: 30.06.2009 Ostrzeżenie: (10%)
|
Dlaczego nei regenerować id? Albo wymusić stosowanie ciasteczek, albo możesz co 10 kliknięć robić "Wpisz haslo:". W każdym razem, mogą hasło sobie popodawać, to wtedy masz znoka, będą naraz wszyscy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
Hmmm no tak regenerować id sesji mogę to co wtedy z zapisywaniem id sesji do bazy za każdym razem to robić ? Trochę chyba nieoptymalne
|
|
|
|
Post
#13
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Może identyfikacja przez MAC ? 1 konto = 1 MAC Na głowę upadłeś? Z tego, co pamiętam, to MAC jest tylko w warstwie łącza danych. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
Tak PHP jako język po stronie serwera nie ma dostępu do zasobów komputera lokalnego.
@erix może wiesz jak rozwiązać ten problem ? |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%)
|
temat pobierania adresu mac jest poruszony w Archiwum Pro
Temat: MAC_zamiast_IP z tymi sesjami to też nie najgorszy pomysł, zapisuj login lub ip do sesji a najlepiej obie zmienne i pilnuj aby te wartości się nie powtarzały, czyli jeśli ktoś o loginie 'maniek' jest zalogowany to przy logowaniu z innego komputera loginem 'maniek' sprawdzasz czy już taka osoba nie jest zalogowana jeśli bardzo namieszałem to przepraszam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował pgrzelka 30.06.2009, 22:45:31 |
|
|
|
Post
#16
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Adres MAC, to kiepski pomysł, gdyż w przypadku proxy/NAT/tunelu nie masz MAC delikwenta. Poza tym, MAC da się zmienić (niektórzy wciąż żyją w błogiej nieświadomości, że się nie da (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
|
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
@pgrzelka dzięki za info, gdyby nie ty dalej był żył w przekonaniu, że się nie da MAC adresu wyciągnąć i tyle, nawet jeśli chodzi o korzystanie w sieci lokalnej.
Może trochę naświetle problem bardziej, stworzyłem sobie stronę gdzie można znaleźć zdjęcia itp w PHP, wykupiłem płatny hosting zamieściłem pliki. Strona ma "zasięg" jeśli tego słowa można użyć, "miastowy" to znaczy zdjęcia są robione z imprez w moim mieście z tego powodu 90% ruchu na stronie pochodzi z mojego rodzimego miasta. Jeśli chodzi o dostawców usług internetowych, tam gdzie mieszkam liczą się 2 gracze: Neostrada i Vectra(taka sieć kablowa dostarczająca internet razem z kablówką). Podobnie jak Neostrada, Vectra przydziela adresy IP dynamicznie, w obrębie danej dzielnicy, czyli jedno osiedle ma na wyjściu ten sam adres IP (sprawdziłem). Jedno takie osiedle to ładna liczba użytkowników. Dlatego tak się wystrzegałem weryfikacje przez ip. Jak narazie wymyśliłem, taki oto sposób wykluczenia wielokrotnego logowania w 1 czasie: Tworzę tabelę z id_user, sid,time i gdy dany user próbuje się zalogować sprawdzam czy w tej tabeli nie ma wpisu z jego ID, jesli jest to sprawdzam, czy jego id sesji jest równe wartości pola sid, jeśli jest to każę mu się zalogować, jeśli nie to go loguje tworząc odpowiedni wpis w bazie danych. Trochę to zawiłe, więc może użyje pseudokodu:
I co myślicie czy ten sposób jest OK ? Bo ja tu widzę problem z łatwością przejęcia takiej id sesji, ponieważ session_regenerate_id()" title="Zobacz w manualu PHP" target="_manual nie będzie wykorzystywane i ciągle muszę uaktualniać wpis w tabeli session. No chyba że się mylę, lub jest jakiś sposób żeby nie przesyłac tylu zapytań. Ten post edytował R4D3K 30.06.2009, 23:29:22 |
|
|
|
Post
#18
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
dzięki erix, to że jest dziurawy to wiem już nie dodawałem tutaj zabepieczeń
|
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 2 Dołączył: 15.08.2007 Skąd: Nowy Targ Ostrzeżenie: (0%)
|
A nie można by do tabeli z użytkownikami dodać pola 'zalogowany'. Jeśli zaloguje się to zalogowany = 1 jeśli wyloguje to zalogowany = 0, po przekroczeniu czasu sesji tak jak wcześniej pisaliście tam zalogowany znów = 0. I sprawdzać przy logowaniu czy przy tym userze jest 'zalogowany' = 1 czy 0 jeśli 1 to wywalić komunikat: "jesteś już zalogowany".
Jeden login = jeden komputer. |
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
A jeśli użytkownik nie kliknie "WYLOGUJ" tylko zamknie przeglądarkę to i dalej zostanie w bazie zalogowany=1 ?
|
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 2 Dołączył: 15.08.2007 Skąd: Nowy Targ Ostrzeżenie: (0%)
|
zdarzenie zamykania przeglądarki z tego co wiem można chyba jakoś w js przechwycić i wtedy ajaxem zmienić wartość 'zaloguj' na 0
|
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%)
|
|
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
GC ? chodzi o tą odśmieciarkę ? Bełdzio możesz rzucić jakimś kodem ?
|
|
|
|
Post
#25
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat zdarzenie zamykania przeglądarki z tego co wiem można chyba jakoś w js przechwycić Taa... W praktyce już nie jest tak idealnie... Cytat GC ? chodzi o tą odśmieciarkę ? Nie; po prostu ustalasz czas nieaktywności, po którym sesja jest uznawana za martwą. |
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 2 Dołączył: 15.08.2007 Skąd: Nowy Targ Ostrzeżenie: (0%)
|
Możesz też dać użytkownikowi ciasteczko na taki czas po jakim następuje wylogowanie po nieaktywności. Jeśli zaloguje się, później wyłączy przeglądarkę i znów włączy Twoją stronę to będzie się mógł zalogować pod warunkiem że będzie miał to ciasteczko jeśli go nie będzie miał to komunikat 'jesteś już zalogowany'. Problem w tym, że jak ktoś usunie ciasteczka to nie wejdzie przez jakiś czas na stronę. Ale to chyba nie jest tak bardzo prawdopodobne, bo ludzie nie usuwają ciasteczek tak często, a większość nawet nie wie co to jest.
|
|
|
|
Post
#27
|
|
|
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 ? |
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%)
|
moim zdaniem:
- sesje PHP wraz z własnym mechanizmem w bazie - czas życia sesji - może być regeneracja id co stronę - w ciastku zapisujesz id sesji oraz unikalny ciąg znaków skrócony np. przez sha1, w którym zbierasz wszystkie dane przy logowaniu jakie się da - user agent, ip, Accept, Accept-Language, Accept-Charset, Accept-Encoding (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%)
|
takie cos mi jeszcze w lozku przyszlo do glowy ;-)
user sie loguje -> zapisujesz sesje w bazie -> kolejny user się loguje -> spr czy w bazie jest sesja użytkowniwka o takim samym ID -> jeśli jest to ją kasujemy w taki sposób zawsze bedzie zalogowany jeden user + za kazdym razem jak bedzie chcial sie zalogowac ktos na jego dane to go wyloguje :-) jak będzie "martwa" sesja to nic się nie stanie, jak będzie zalogowany inny user to się troche podenerwuje i przemyśli kwestię dawania swoich danych innym :-) |
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 231 Pomógł: 22 Dołączył: 6.10.2008 Ostrzeżenie: (0%)
|
takie cos mi jeszcze w lozku przyszlo do glowy ;-) user sie loguje -> zapisujesz sesje w bazie -> kolejny user się loguje -> spr czy w bazie jest sesja użytkowniwka o takim samym ID -> jeśli jest to ją kasujemy w taki sposób zawsze bedzie zalogowany jeden user + za kazdym razem jak bedzie chcial sie zalogowac ktos na jego dane to go wyloguje :-) jak będzie "martwa" sesja to nic się nie stanie, jak będzie zalogowany inny user to się troche podenerwuje i przemyśli kwestię dawania swoich danych innym :-) Albo inaczej gdy znajdzie użytkownika o takim samym id ale innej sesji to wyświetla komunikat o tym ze ktoś wisi na jego koncie. |
|
|
|
Post
#31
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
Cytat Albo inaczej gdy znajdzie użytkownika o takim samym id ale innej sesji to wyświetla komunikat o tym ze ktoś wisi na jego koncie. A co z session fixiaton i koniecznością session_regenrate_id()" title="Zobacz w manualu PHP" target="_manual Ten post edytował R4D3K 4.07.2009, 09:03:46 |
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 6 Dołączył: 23.02.2008 Skąd: Katowice Ostrzeżenie: (0%)
|
Gdy użytkownik się loguje SID jest dodawany do bazy i do cookie, gdy to się zgadza może sobie chodzić. Gdy ktoś następny się zaloguje (użytkownik2) to znów zapisuje się SID (inny niż poprzedni) w bazie i w cookiesach. Użytkownik już nic nie może zrobić bo jest wylogowany i musi się znów zalogować, loguje się wtedy wylogowuje użytkownika2 itd. itd. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#33
|
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%)
|
Gdy użytkownik się loguje SID jest dodawany do bazy i do cookie, gdy to się zgadza może sobie chodzić. Gdy ktoś następny się zaloguje (użytkownik2) to znów zapisuje się SID (inny niż poprzedni) w bazie i w cookiesach. Użytkownik już nic nie może zrobić bo jest wylogowany i musi się znów zalogować, loguje się wtedy wylogowuje użytkownika2 itd. itd. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale sęk w tym, że to za mało, bo - z tego co zrozumiałem - są to zaprzyjaźnieni userzy i mający nieco pojęcie o kompach, więc jeden może podać drugiemu całe ciastko i już może chodzić jako zalogowany sposób @bełdzia jest prawie idealny, bo zostaje możliwość cały czas chodzenia jednym userem (ale tylko jeden w jednym czasie), więc do tego bym dodał zbieranie i sprawdzanie user-agentów itp. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
Post
#34
|
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 3 Dołączył: 9.12.2006 Skąd: Kraków Ostrzeżenie: (10%)
|
Witam,
Ja bym zrezygnował wogóle z cookies. User loguje się (login, hasło) jeżeli poprawne logowanie w bazie zapisuje się "secretUserCode" generowany jest tak:
Później sprawdzanie przy otwieraniu każej strony czy $_SESSION['userSecredCode'] jest identyczny z tym w bazie. Jeżeli ktoś będzie się próbować zalogować na już zalogowanego usera, komunikat że już jest ktoś zalogowany.
Przy wylogowaniu userSecretCode jest zastępowany np. "locked" i session_destroy(); W przypadtku gdy user nie kliknie wyloguj, Ajax. Ten post edytował Kethrax 5.07.2009, 12:30:28 |
|
|
|
Post
#35
|
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 6 Dołączył: 23.02.2008 Skąd: Katowice Ostrzeżenie: (0%)
|
ale sęk w tym, że to za mało, bo - z tego co zrozumiałem - są to zaprzyjaźnieni userzy i mający nieco pojęcie o kompach, więc jeden może podać drugiemu całe ciastko i już może chodzić jako zalogowany sposób @bełdzia jest prawie idealny, bo zostaje możliwość cały czas chodzenia jednym userem (ale tylko jeden w jednym czasie), więc do tego bym dodał zbieranie i sprawdzanie user-agentów itp. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) W sumie to co napisał Bełdzio...to jest to samo co napisałem ja (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
Post
#36
|
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%)
|
W sumie to co napisał Bełdzio...to jest to samo co napisałem ja (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) z tego powodu, że @Bełdzio pisał pierwszy, to chyba Ty napisałeś to, co już wcześniej napisał Bełdzio, ale mówię, że jeszcze ja bym sprawdzał inne dane, które da się wyciagnąc, np. user-agent @Kethrax, "Ja bym zrezygnował wogóle z cookies." a sid w pasku adresu? (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) |
|
|
|
Post
#37
|
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%)
|
z tego powodu, że @Bełdzio pisał pierwszy, to chyba Ty napisałeś to, co już wcześniej napisał Bełdzio, ale mówię, że jeszcze ja bym sprawdzał inne dane, które da się wyciagnąc, np. user-agent inne dane nic nie dadzą bo nie są unikalne, a z tego co kojarze to problem polegał na tym, żeby jednocześnie nie można było zalogować się na jeden login przez wielu userów, co też moje rozwiązanie robi ;-) |
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%)
|
Dzięki Wam za odpowiedzi.
Najbardziej podoba mi się sposób Bełdzia, zapisanie sid sesji do bazy, też o tym pisałem w pierwszym poście, tylko panowie z tym sposobem jest jeden ból: przesłanie linka z id sesji np http://example.com?PHPSESSID=... Użytkownicy są cwani, ale nie na tyle żeby sobie ciastka przesyłać, wiem bo mi kolega co zgłaszał ten problem przesłał właśnie linka z sesją przez gg. Jeśli dodam od razu po sprawdzeniu czy user jest zalogowany, session_regenerate_id to user który działa na stronie jako 2 wyloguje usera 1 ( dobrze mówię ?), i pytanie czy ta reguła w pliku htaccess : Kod php_value session.use_only_cookies 1 php_value session.use_trans_sid 0 Rozwiąże problem przesyłania id sesji w linku ? Nawet jak user wyłączy ciastka ? |
|
|
|
Post
#39
|
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%)
|
Nawet jak user wyłączy ciastka ? nie będzie miał możliwości zalogowania się (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 08:35 |