The background: jest sobie pewien serwis AKA aplikacja WWW. Z pewnych względów (bezpieczeństwo) zmiana IP użytkownika powoduje wylogowanie z aplikacji. Do tego – z innych względów – nie bardzo jest wola, by inwestować w zmianę takiego zachowania tejże aplikacji.
The problem: kolejny popularny operator (Plus) zmienił(?) działanie swojej sieci tak, że klientom często zmienia się IP w trakcie połączenia z Internetem, co skutkuje wylogowaniem z serwisu. Mam pewne podejrzenia, że może to dotyczyć tylko niektórych taryf, ale nie to jest przedmiotem rozważań. Wylogowuje i już.
The question: jak można w prosty sposób (dla laika) obejść problem od strony użytkownika aplikacji? Jedno rozwiązanie już znam – użycie Opery i turbo mode. Niby fajne, bo Opera jest darmowa, ale… nie jest to open source i nie każdy ma możliwość instalacji oprogramowania. Pewnie dowolne tunelowanie ruchu przeglądarki załatwi sprawę, ale dla laika to zbyt skomplikowane. Być może pomogłoby proxy, ale nie znalazłem informacji na stronach Plusa o tym, żeby coś takiego udostępniał. No i problem dotyczy nie tylko Plusa… Pomysły?
Hm, nie wiem jak rozumieć to zdanie mówiące, że „nie bardzo jest wola”, ale tu by pomógł chyba jakiś dodatkowy identyfikator i zmiana zawartości sesji – na przykład Joomla też składa adres IP plus czas i dane o przeglądarce i trzyma to w bazie po zalogowaniu jako hash, gdy się ktoś zaloguje z innej przeglądarki tego samego kompa to poprzednia sesja automatyczne traci ważność. Trzeba by weryfikować IP i w razie zmiany jakoś ją wykrywać porównując stare i nowe IP a fakt przejścia tymczasowo autoryzować tym dodatkowym identyfikatorem – ale to tylko nie przemyślana luźna teoria, bo nie wiem jak by się to miało do kwestii bezpieczeństwa – żeby się czasem nie okazało, że wystarczy podmienić ciastko i „mamy problemik” ;o) Chociaż gdyby taki dodatkowy identyfikator (np. zbudowany z hash starego IP + dane o przeglądarce) zrobić czasowym i w razie zmiany IP zezwolić tylko na jedną próbę jego porównania z przesyłanymi danymi a potem go kasować, i jak się nie powiedzie weryfikacja to i tak usera wylogowywać) to może nie byłoby tak źle. Ale… – patrz wyżej, nie wiem co z bezpieczeństwem takiego wynalazku. Może jest coś w sieci na ten temat? Przecież takie np. banki musiały to jakoś rozgryźć, nie wyobrażam sobie aby strona banku ciągle kogoś wylogowywała, bo Klient wówczas zmieniłby bank, a przecież sporo osób korzysta z Internetu mobilnego. Chociaż w sumie chyba w Plusie za dopłatą można mieć stałe IP…
Nie bardzo jest wola by inwestować – wkładanie pieniędzy w tę aplikację dla takiego drobiazgu i wąskiej grupy klientów w tym okresie życia aplikacji nie ma sensu.
To co opisałeś to jak najbardziej poprawne rozwiązanie problemu, który zresztą klient zafundował sobie sam, a raczej na spółkę z dostawcą sieci. Poszukiwałem bardziej szybkiego, prostego i taniego do wdrożenia obejścia/hacka, który byłby dodatkowo zgodny z duchem open source. 😉
No, z szybszych rozwiązań to byłoby nie sprawdzać potem w ogóle IP jak ktoś już poprawnie przejdzie autoryzację – ale to jest niezgodne z polityką bezpieczeństwa i takich wynalazków raczej nie należy stosować :o)
To nie jest szybsze rozwiązanie. Nie w tym momencie. W tym momencie, to trzeba zgłosić twórcom, którzy muszą odkopać dokumentację, wprowadzić zmiany, przetestować…