Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Autowylogowywanie
dk1342
post 9.07.2009, 17:14:38
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Witam, chce zrobić autowylogowywanie że jeśli jakiś zalogowany użytkownik nic nie zrobi przez 10 min czyli jeśli nie odświeży strony itp to go wylogowuje, ok sprawa niby prosta ale chce jakiś waszych rad i czy takie rozwiązanie jest dobre czy może zamula serwer:

Stworzyć sobie plik np. "updatuj.php" i w nim zrobić warunek że jeśli jesteś zalogowany i jeśli dane z kolumny "last_log" z tabeli "users" są większe o 10 min od time(); to wylogowwujemy a jeśli dane nie są mniejsze to dajemy else i updatujemy kolumne "last_log" na time(); where user_id = $_SESSIO['user_id']....

I ten plik updatuj.php includować na kazdą podstrone

I teraz pytanie czy dobrze myślę i czy takie rozwiązane jest dobre i korzystne ?


2 Pytanie czy taki sposób logowania jest bezpieczny czy można jakoś nadpisać sesję albo coś w tym stylu,
robie tak gdy user poda prawidłowe dane to ustawiam:
$_SESSION['zalogowany'] = true;
$_SESSION['user_id'] = $row['id'];
$_SESSION['user_nick'] = $row['nick'];

i potem na stronie która ma być widoczna tylko zalogowanemu użytkownikowi sprawdzam w ifie
if($_SESSION['zalogowany'])
{
/// strona dla zalogowanego
}


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
Fifi209
post 9.07.2009, 17:16:38
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


W ustawieniach php możesz wybrać ile sesja ma być ważna. winksmiley.jpg

ew. Lektura o Session Handler

Ten post edytował fifi209 9.07.2009, 17:17:19


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
dk1342
post 9.07.2009, 17:19:38
Post #3





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


nie mam dostępu żeby ustawiać php

mi chodziło co myślicie o tym co pisałem czy to dobry sposób itp


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
Fifi209
post 9.07.2009, 17:28:13
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Jeżeli pytasz o samo updatowanie, możesz robić jak piszesz - obciążenie? I tak nie Twój serwer.

Bezpieczeństwo - nie masz serwera tylko dla siebie? Nie możesz zmieć ustawień? Więc co tu mówić o bezpieczeństwie.

Jeżeli chcesz mieć bezpiecznie, napisz/skorzystaj z (gotowego) session handlera, naprawdę opłaci się. Ja napisałem taki naprawdę prosty dla siebie ale wystarcza i znacznie lepiej się z tego korzysta niż z funkcji oferowanych przez php.

Ten post edytował fifi209 9.07.2009, 17:28:47


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
MateuszS
post 9.07.2009, 17:31:45
Post #5





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Ad. 1

Nie musisz tak robić. Po co mulić sobie bazę skoro można obciążyć usera i jego przeglądarkę? Zastosuj ciasteczka w prosty sposób.

przy logowaniu
  1. <?php
  2. setcookie('zalogowany','nazwausera',time()+60*10); // na 10 min  cookie
  3. ?>


potem na podstronach sprawdzasz warunek

  1. <?php
  2. if(!isset($_COOKIE['zalogowany']))
  3. {
  4.    header("Location: index.php"); // strona dla gosci
  5. }
  6. ?>



Ad. 2

Ja podobnie robię i działa, tylko dorzucam warunek ciasteczka.

Ten post edytował MateuszScirka 9.07.2009, 17:33:15


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Fifi209
post 9.07.2009, 17:37:44
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(MateuszScirka @ 9.07.2009, 17:31:45 ) *
Ad. 1

Nie musisz tak robić. Po co mulić sobie bazę skoro można obciążyć usera i jego przeglądarkę? Zastosuj ciasteczka w prosty sposób.

przy logowaniu
  1. <?php
  2. setcookie('zalogowany','nazwausera',time()+60*10); // na 10 min  cookie
  3. ?>


potem na podstronach sprawdzasz warunek

  1. <?php
  2. if(!isset($_COOKIE['zalogowany']))
  3. {
  4.    header("Location: index.php"); // strona dla gosci
  5. }
  6. ?>

Ad. 2

Ja podobnie robię i działa, tylko dorzucam warunek ciasteczka.



A jak ktoś nie ma włączonej obsługi ciasteczek to jest kapa.
W dodatku jeżeli opierasz się na danych z cookies to tylko pogratulować głupoty, firecookie i jestem zalogowany lub edycja przez operę.

Ja w cookies przechowywałbym tylko id sesji.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
erix
post 9.07.2009, 17:42:56
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Nie musisz tak robić. Po co mulić sobie bazę skoro można obciążyć usera i jego przeglądarkę? Zastosuj ciasteczka w prosty sposób.

przy logowaniu

session_set_cookie_params" title="Zobacz w manualu PHP" target="_manual... dry.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
MateuszS
post 9.07.2009, 19:26:19
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%)
-----


Cytat(fifi209 @ 9.07.2009, 18:37:44 ) *
A jak ktoś nie ma włączonej obsługi ciasteczek to jest kapa.
W dodatku jeżeli opierasz się na danych z cookies to tylko pogratulować głupoty, firecookie i jestem zalogowany lub edycja przez operę.

Ja w cookies przechowywałbym tylko id sesji.


No własnie to + sesje, nie bede wszystkiego tu pisal. Nigdy na samych ciachach nie jadę.

I głupi to jesteś ty winksmiley.jpg BEZ URAZY haha.gif

Ten post edytował MateuszScirka 9.07.2009, 19:34:17


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 07:23