Witam. Mam mały problem... Nie chodzi tyle o techniczne rozwiązania co o teoretyczne rozważania.
Otóż.. Mam witrynę, coś podobnego do randek internetowych połączonych z ocenianiem i komentowaniem zdjęć. Wiadomo, ludzie się rejestrują, logują na swoje konta, więc musze używać sesji.
I pojawia się problem. Używać tylko cookie czy pozwolić serwerowi doklejać SID?
Plusy doklejania SID'a:
- strona wszystkim działa
Minusy doklejania SID'a:
- zastosowałem tzw. session killer, który nie startuje sesji gdy na stronę wejdzie robot wyszukiwarki np. google (dla lepszego indeksowania) ale... z tego co wiem to sesja wystartuje wtedy gdy (pomijam ustawienie serwera session.auto_start) wystartujemy z session_start() lub użyjemy gdzieś session_register(). Pytanie - czy sesja wystartuje gdy użyję $_SESSION ?
- użytkownicy mojej strony często wymieniają się adresami.. Wiadomo co się stanie jeżeli ktoś poda komuś adres z doklejonym SID'em :/ Druga osoba przejmie jego konto... Co prawda staram sobie z tym radzić sprawdzając za każdym razem IP i $_SERVER['HTTP_USER_AGENT'] ale wiadomo, że to nie rozwiązuje do końca problemu.
- zgodnie z manualem do php podczas używania przekierowania header doklejam ręcznie do adresu SID w ten sposób header('Location: http://adres_strony.pl/?'.SID);. Niestety tworzy się w ten sposób mało elegancki adres http://adres_strony.pl/? lub co gorsza z doklejonym SID'em. Użytkownicy mogą sobie takie adresy mieć ale wolałbym nie serwować takich adresów wyszukiwarkom.
Plusy używania tylko cookies:
- nie ma problemów z wyszukiwarkami ani z przekazywaniem adresów między ludźmi bo nigdy nie zostanie doklejony SID
Minusy używania tylko cookies:
- niestety nie wszystkim strona będzie poprawnie działała (nie ma szans żeby zmienili coś w swoim panelu bo po zalogowaniu od razu ich wyloguje :/). Ktoś wie ile osób jest tak bardzo przewrażliwionych, że mają wyłączoną obsługę ciasteczek?
Mam nadzieję, że o niczym nie zapomniałem. Co o tym wszystkim myślicie? Jak sobie z tym radzicie? Co polecacie?