Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z logowaniem na subdomenach
EpureLight
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2009

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


Witam wszystkich.

Do serwisu, który tworze napisałem system logowania i rejetrowania w php. Zmienne pobierane z bazy danych są przechowywane w zmiennych sesji. O bezpieczeństwo zadbałem, więc o to się nie martwię. Problem polega na tym, że serwis będzie wyposażony w blog i forum, które będą na adresach blog.domena.pl i forum.donema.pl. System logowania znajduje się w katalogu głownym domeny. Po zalogowaniu użytkownik może bez problemu poruszać się po stronie lecz gdy wchodzi na stronę bloga to zostaje wylogowany, lub lepiej mówiąc, nie jest zalogowany, gdyż po porocie na stronę domena.l jest zalegowany. Chciałbym temu problemowi zaradzić jednak nie mam pojęcia jak to zrobić. Słyszałem, że te domeny są traktowane jako różne, jednak nic mi to nie mówi. Nie chce do tego użyć pików coockie jeżeli to nie jest konieczne.

Proszę was o pomoc i z góry dziękuję (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Sesje bazują na cookies. Użyj funkcji http://www.php.net/manual/en/function.sess...okie-params.php przed session_start.

Przykład:
  1. session_set_cookie_params(0, '/', '.twojadomena.pl');
Go to the top of the page
+Quote Post
askone
post
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


System logowania jako osobna aplikacja umieszczona w osobnej subdomenie z osobną bazą(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
EpureLight
post
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2009

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


@cycofiasz

Nie wiem dokładnie w jaki sposób miałoby to działać, jeżeli możesz to opisz proszę go dokładniej, dla początkującego (IMG:style_emoticons/default/wink.gif)

@askone

Dobry pomysł. Jeżeli dobrze rozumiem to chodzi o coś takiego, że przerzucam system logowania na np. domene login.domena.pl, gdzie użytkownik się loguje i jeżeli logowanie jest poprawne to przekierowanie na stronę główną, gdzie skrypt zbiera dane POST z formularza logowania do zmiennych sesji ?
Go to the top of the page
+Quote Post
cycofiasz
post
Post #5





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Poczytaj o działaniu ciastek: http://pl.wikipedia.org/wiki/Ciasteczka , Ciebie powinno zainteresować to co pod domain=domena
Go to the top of the page
+Quote Post
askone
post
Post #6





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Cytat
Dobry pomysł. Jeżeli dobrze rozumiem to chodzi o coś takiego, że przerzucam system logowania na np. domene login.domena.pl, gdzie użytkownik się loguje i jeżeli logowanie jest poprawne to przekierowanie na stronę główną, gdzie skrypt zbiera dane POST z formularza logowania do zmiennych sesji ?


Coś w tym stylu. Faktem jest iż nie wdrażałem tego rozwiązania jeszcze nigdzie u siebie, ale wydaje się dość prostym do wdrożenia.
Go to the top of the page
+Quote Post
zbig
post
Post #7





Grupa: Zarejestrowani
Postów: 144
Pomógł: 30
Dołączył: 5.05.2007
Skąd: Mannheim

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


Witam !

Musisz w tym przypadku uzyc globalnego mechanizmu przechowywania danych sesyjnych . Albo DB albo memcahed.

[edit]
session_set_save_handler

Pozdrawiam

Ten post edytował zbig 3.06.2011, 16:10:08
Go to the top of the page
+Quote Post
EpureLight
post
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2009

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


Cytat(askone @ 3.06.2011, 15:15:27 ) *
Coś w tym stylu. Faktem jest iż nie wdrażałem tego rozwiązania jeszcze nigdzie u siebie, ale wydaje się dość prostym do wdrożenia.


Jednak po głębszym przemyśleniu może to nie działać. Bo użytkownik wtedy będzie zalogowany na domenie, na której będzie skierowany po zalogowaniu, zas po przejsciu na forum lub blog nastąpi ten sam problem.


Cytat(zbig @ 3.06.2011, 17:06:40 ) *
Witam !

Musisz w tym przypadku uzyc globalnego mechanizmu przechowywania danych sesyjnych . Albo DB albo memcahed.

[edit]
session_set_save_handler

Pozdrawiam



Nie do końca rozumiem jak ta funkcja działa. Tzn jakie dane gdzie mają trafiać i co ta funkcja ma z nimi zrobić. Dodatkowo nie mam pojęcia w którym miejscu kodu to wdrożyć. Programuję w php jednak pierwszy raz spotykam się z takim problemem i nie mam pojęcia jak mu zaradzić.
Go to the top of the page
+Quote Post
cycofiasz
post
Post #9





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


A próbowałeś chociaż mojej porady? Raczej nie - a szkoda.
Go to the top of the page
+Quote Post
EpureLight
post
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2009

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


Cytat(cycofiasz @ 3.06.2011, 20:18:59 ) *
A próbowałeś chociaż mojej porady? Raczej nie - a szkoda.


Próbowałem, razem z użyciem parametru session.cookie_domain", ".domena.pl", lecz coś mi w tym wszystkim nie działa. Użytkownik nadal jest niezalodowany przy zmianie subdomeny.
Go to the top of the page
+Quote Post
Zyx
post
Post #11





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


zbig -> co ma miejsce składowania danych sesji na serwerze do widoczności ciastek w subdomenach przez przeglądarkę? Nie rób mętlika w głowie koledze. Poprawne rozwiązanie zaproponował cycofiasz - chodzi po prostu o to, by powiedzieć przeglądarce, że te wszystkie subdomeny stanowią część jednego serwisu i tyle. Nie ma w tym żadnej filozofii.
Go to the top of the page
+Quote Post
EpureLight
post
Post #12





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2009

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


Cytat(Zyx @ 3.06.2011, 20:23:41 ) *
zbig -> co ma miejsce składowania danych sesji na serwerze do widoczności ciastek w subdomenach przez przeglądarkę? Nie rób mętlika w głowie koledze. Poprawne rozwiązanie zaproponował cycofiasz - chodzi po prostu o to, by powiedzieć przeglądarce, że te wszystkie subdomeny stanowią część jednego serwisu i tyle. Nie ma w tym żadnej filozofii.


Widzisz, głupio się przyznać lecz dla mnie jest w tym filozofia, bo naprawde nie mam pojęcia jak to zaimplementować. Wystarczy tę linijkę wstawić, i jeżeli tak to przed czy po starcie sesji ?
Go to the top of the page
+Quote Post
cycofiasz
post
Post #13





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Jeśli Ci nie działa to usuń w przeglądarce wszystkie cookies powiązane z twoją domeną i subdomeną a następnie spróbuj jeszcze raz. Czyli ma być wszędzie:

  1. session_set_cookie_params(0, '/', '.twojadomena.pl');
Go to the top of the page
+Quote Post
EpureLight
post
Post #14





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2009

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


Cytat(cycofiasz @ 3.06.2011, 20:29:23 ) *
Jeśli Ci nie działa to usuń w przeglądarce wszystkie cookies powiązane z twoją domeną i subdomeną a następnie spróbuj jeszcze raz. Czyli ma być wszędzie:

  1. session_set_cookie_params(0, '/', '.twojadomena.pl');



Zaczęło działać! Faktycznie, po uruchomieniu na innej przeglądarce ładnie działa. Dziękuję za pomoc.

@cycofiasz

Wybacz, że nie napisałem, że nic mi z tym nie wyszło lecz naprawdę próbowałem tego użyć. Mam nadzieję, że posłuży to innym. Jeszcze raz dziękuję (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 19:27