Pytania dt. logowania


(radmar) #1

Witam,

mam parę pytań odnośnie systemu logowania:

  1. Jeśli ktoś nie zaznacza opcji loguj automatycznie to nie ma problemu, jadę na zwykłej sesji ( dobrze myślę?)

  2. I jeśli ktoś zaznacza autologowanie to jak mam to organizować?

a) myślę o cookies, ale jak ktoś ma wyłączoną obsługę to jak go autologować?

cool.gif jeśli na cookies, to co mam w nich zapisywać i czy to jakoś szyfrować?

  1. Jak ktoś jest autologowany, ale po jakimś czasie kliknie wyloguj, to czy mam zaimplementować to tak, że: sprawdzam czy są cookie dotyczące autologwania, a następnie (jeśli są) to usuwam je(czy jakoś unieważniam) <- dobrze myślę?

  2. Czytałem już o tym w książce, ale może istnieje jeszcze jakiś dobry opis systemu logowania w internecie?


(Drobok) #2

1 - tak

2 - przy logowaniu ciastko, potem sprawdzasz czy ciastko jest jeśli jesteś niezalogowany

a) w takim wypadku nie ma autologowania, nie ma ciastka a nic innego nie da rady wykorzystać, bowiem ktoś inny mógłby się przypadkiem zalogować (przez przetrzymywanie na serwerze)

3- wywalasz ciastko jeśli jest, jeśli nie ma niszczysz tylko sesję

4- raczej nie ma, niestety książki są lepsze niż webowe poradniki. Najlepiej poszukaj gotowego skryptu z jakimś opisem i na tej podstawie zrób własny


(radmar) #3

dzięki wielkie za dobre wytłumaczenie tego :slight_smile:

Czyli

wchodzi sobie jakiś user na moją stronę, ja pierwsze co robię, to sprawdzam czy istnieje jego sesja, jeśli tak, to jest zalogowany.

Jeśli jego sesja nie istnieje to sprawdzam czy są ciasteczka, jeśli są to sprawdzam czy nie wygasły, jeśli nie to go loguję.

Jeśli user nie akceptuje ciastek, to nie mam możliwości zafundować mu autologowania.

(powiedzcie czy dobrze to zrozumiałem)

Mam takie pytanie, co powinienem przechowywać w ciasteczkach i w jaki sposób sprawdzać po tych ciasteczkach czy chce być autologowany?

załóżmy, że mam 50 podstron, to w takim razie, muszę na każdej podstronie require()ować plik z powyżej opisanymi czynnościami?

Jeśli nie chce być autologowany, to w ciastkach mu nie grzebię, bo nie ma po co, tak?


(Drobok) #4

Jeśli nie robisz includem to niestety tak.

Ogólnie najlepiej jak zrobisz sobie index.php, w nim dajesz wszystko co chcesz poprzez include. Dodaj do panelu logowania i będzie bez problemu.

Tak, nie musisz nic robić w ciastkach jak nie masz autologowania. Możesz rozważyć samo logowanie na ciastkach, jednak sesje są o wiele lepsze w takim wypadku.


(radmar) #5

czyli jeśli stosuje include() to wystarczy w jednym miejscu dodać?

To drugie zdanie nie bardzo rozumiem, możesz mi jakoś je rozwinąć?

'


(Drobok) #6

Jak masz dużo treści najszybciej wrzucać include, masz miejsce na stronie na panel logowania wrzucanego przez include. To wrzucasz do tego panelu swój kod do obsługi logowania i wszystko ładnie działa. Oczywiście na początku index.php dajesz session_start();.


(radmar) #7

OK,

ale jak ktoś wchodzi na strona.php a nie na index.php to jak jest zalogowany to jest wszystko OK,

ale jeśli nie?

to na każdej podstronie mam sprawdzać czy jest zalogowany, a jeśli nie to wyświetlać formularz logowania?


(Drobok) #8

Mówiłeś, że masz przez include. Powinieneś się więc odwoływać poprzez index.php?strona=nazwa. W index php powinieneś sprawdzić, czy jest zmienna w get i wtedy powinieneś includować podstronę jaką masz w tym id. A resztę normalnie include logowanie i wtedy normalnie powinno wszystko działać.

Jeśli nie masz include to musiałbyś się logować na każdej stronie jeśli nie masz zmiennych globalnych, bądź przenosić id sesji między podstronami. Najlepiej podaj adres strony.


(radmar) #9

Dzięki za pomoc :slight_smile:

pozdrawiam

radmar