Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP] jakie robic sesje?
hermo767
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


witam, troche poczytalem, ale nic konkretnego nie znalazlem, a jak juz to sprzed paru lat

czy wbudowane do php sesje sa na prawde az tak niebezpieczne, zeby z nich nie korzystac?
slyszalem cos o jakis handlerach, ktore poprawiaja bezpieczenstwo, ale nigdzie nie znalazlem jakiegos przykladowego zastosowania tego.

Go to the top of the page
+Quote Post
Hpsi
post
Post #2





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Sessje niebezpieczne? owszem jesli ich nie zabezpieczysz sa niebezpieczne (IMG:style_emoticons/default/smile.gif)
poczytaj to: http://pl.wikibooks.org/wiki/PHP/Sesje powinno odpowiedzieć ci na niektóre pytania
Go to the top of the page
+Quote Post
hermo767
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


czyli jak zrobie na podstawie tego z wikibooks to raczej nie mam sie co obawiac?
Go to the top of the page
+Quote Post
Hpsi
post
Post #4





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Raczej żadnych problemów z włamami / przechwycenami sessji nie miałem (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
hermo767
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


cos czytalem o problemach z hostingami, ze jak na jednym jest kilka stron z sesjami to mozna przechwycac
Go to the top of the page
+Quote Post
matino
post
Post #6





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


Jeśli masz kilka serwisów na serwerze to korzystając z sesji musisz:
a) używać innych identyfikatorów sesji dla każdego serwisu albo
(IMG:style_emoticons/default/cool.gif) zapisywać sesję każdego serwisu w dedykowanym katalogu

Zdecydowaniem bezpieczniejszym rozwiązaniem jest opcja (IMG:style_emoticons/default/cool.gif) - wystarczy w .htaccess ustawiać zmienną session.save_path na unikalny katalog.
Go to the top of the page
+Quote Post
hermo767
post
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


czyli jakby to mialo wygladac, bo nie bardzo rozumiem
Go to the top of the page
+Quote Post
matino
post
Post #8





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


Domyślnie każda sesja na serwerze zapisuje się w katalogu ustawionym w php.ini.
Jeśli masz kilka serwisów na 1 serwerze to wszystkie sesje lądują w tym samym katalogu.
Żeby tego uniknąć możesz dodać w pliku .htaccess w katalogu głównym każdego serwisu linijkę:
  1. php_value session.save_path pełna_ścieżka_do_folderu

czyli np. jeśli masz serwis o nazwie example, to
a) tworzysz katalog example w katalogu z sesjami (załóżmy, że temp)
(IMG:style_emoticons/default/cool.gif) dodajesz wpis do .htaccess
  1. php_value session.save_path "pełna_ścieżka_do_folderu temp/example"

Go to the top of the page
+Quote Post
hermo767
post
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


dzieki, na tej stronie jeszcze jest napisane o ochronie przed Session Hijacking
i jako sposob podane $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
a co jak mam zrobione zapamietywanie usera na cookie? wtedy jak ktos ma zmienne IP to sesja padnie. jest jakis lepszy sposob?
Go to the top of the page
+Quote Post
nekomata
post
Post #10





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


można też za pomocą php ustawić folder sesji. session_save_pathMożesz zrobić coś takiego
  1. $dane = md5($_SERVER['HTTP_USER_AGENT'].sha1($_SERVER['HTTP_ACCEPT_LANGUAGE']).'tak zwana sól...');
i wiadomo dane wrzucasz do sesji i do ciastka , i sprawdzasz potem.

Ten post edytował nekomata 13.04.2011, 20:55:24
Go to the top of the page
+Quote Post
hermo767
post
Post #11





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


Cytat(hermo767 @ 13.04.2011, 21:52:40 ) *
dzieki, na tej stronie jeszcze jest napisane o ochronie przed Session Hijacking
i jako sposob podane $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
a co jak mam zrobione zapamietywanie usera na cookie? wtedy jak ktos ma zmienne IP to sesja padnie. jest jakis lepszy sposob?


moglby ktos jeszcze na to odpowiedziec? (IMG:style_emoticons/default/smile.gif)

i jeszcze jedno.
jakos udalo mi sie zrobic to z cookie i ladnie mi dziala zapamietywanie, ale obawiam sie, ze to nie jest bezpieczne.
jak zaznaczy sie przycisk to zapisuje cookie tak:
  1. setcookie("aaa[username]", $username, $time + 3600);
  2. setcookie("aaa[password]", $password, $time + 3600);


a potem to odczytuje :
  1. if(isset($_COOKIE['aaa'])) {


ale wydaje mi sie ze tak to sobie wystarczy wyciagnac ciasteczko z komputera i kazdy sie podlaczy, wiec co tu jest musze dodac?
Go to the top of the page
+Quote Post
matino
post
Post #12





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


Zostaw cookies w spokoju i przechowuj wszystkie dane sesji na serwerze (
  1. $_SESSION['id'] = ...
)
Generalnie jeśli użytkownik się zaloguje, to ustawiasz w sesji tylko jego id / username. Przechowywanie hasła nie jest wskazane (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
hermo767
post
Post #13





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


ale chce zrobic zapamietywanie, zeby nie trzeba bylo sie za kazdym razem logowac
Go to the top of the page
+Quote Post
matino
post
Post #14





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


No to robisz np. tak na początku każdej strony, do której ma być dostęp dla zalogowanych:
  1. if (!isset($_SESSION['id'])
  2. // przekieruj do strony logowania
Go to the top of the page
+Quote Post
hermo767
post
Post #15





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


no tak, ale to mi nie zadziala jak zamkne przegladarke, bo wtedy sesja automatycznie sie skasuje, a dzieki cookies moge ja utrzymac.

powtarzam wiec pytania, zeby nie zaginely:

Cytat(hermo767 @ 13.04.2011, 21:52:40 ) *
dzieki, na tej stronie jeszcze jest napisane o ochronie przed Session Hijacking
i jako sposob podane $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
a co jak mam zrobione zapamietywanie usera na cookie? wtedy jak ktos ma zmienne IP to sesja padnie. jest jakis lepszy sposob?


moglby ktos jeszcze na to odpowiedziec? (IMG:style_emoticons/default/smile.gif)

i jeszcze jedno.
jakos udalo mi sie zrobic to z cookie i ladnie mi dziala zapamietywanie, ale obawiam sie, ze to nie jest bezpieczne.
jak zaznaczy sie przycisk to zapisuje cookie tak:
  1. setcookie("aaa[username]", $username, $time + 3600);
  2. setcookie("aaa[password]", $password, $time + 3600);


a potem to odczytuje :
  1. if(isset($_COOKIE['aaa'])) {


ale wydaje mi sie ze tak to sobie wystarczy wyciagnac ciasteczko z komputera i kazdy sie podlaczy, wiec co tu jest musze dodac?
Go to the top of the page
+Quote Post
cim
post
Post #16





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

a czy nie lepiej zamiast w cookies zapisywać login i hasło po prostu zmienić czas ważności ciasteczka sesji? http://www.php.net/manual/en/session.confi...cookie-lifetime

Pozdrawiam
Go to the top of the page
+Quote Post
hermo767
post
Post #17





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


no duzo lepiej, musze to wyprobowac (IMG:style_emoticons/default/smile.gif) to dziala na tej samej zasadzie?

a co z pierwszym pytaniem?

Go to the top of the page
+Quote Post
cim
post
Post #18





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,
Cytat(hermo767 @ 14.04.2011, 00:22:09 ) *
no duzo lepiej, musze to wyprobowac (IMG:style_emoticons/default/smile.gif) to dziala na tej samej zasadzie?

tworząc sesję do użytkownika trafia ciasteczko z identyfikatorem jego sesji na serwerze. Domyślnie jest ono usuwane przy zamykaniu przeglądarki. Ustalając czas samemu możesz decydować jak długo ciasteczko będzie jeszcze na komputerze.

Pozdrawiam
Go to the top of the page
+Quote Post
hermo767
post
Post #19





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

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


tylko z tego co tam wyczytalem to tez sie ustawia to w htaccess, wiec nie bede mogl zrobic if w kodzie php i zawsze kazdy bedzie mial przedluzona dlugosc ciastka, a nie tylko wybrani
Go to the top of the page
+Quote Post
nekomata
post
Post #20





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Jestem ciekawy gdzie takie "czary" wyczytujesz?2 link z google . A wybrani... możesz ustawić w ciastku np. ID i haslo usera z bazy.. albo jak chcesz mniej "czytelne" to dodaj kolumne w tabeli z userami coś jak "md5($user.$haslo.$data_rejestracji.$id)" wtedy ciastko będzie miału wygląd podobny do PHPSSID i nie będzie czytelne. tylko zabezpiecz strone przed XSS...
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 19.12.2025 - 15:11