Kochani darujcie sobie to sprawdzanie nagłówka User-Agent przy logowaniu lub chociaż rozszerzcie listę obsługiwanych przeglądarek.
Mnie osobiście serwer odrzuca na dwóch ulubionych tj. Firefox 4 oraz midori 0.2.8 (rzecz jasna pod Linuksem). Rozumiem chęć zabezpieczenia przed robotami ale jak wprowadzacie tego typu zabezpieczenia to róbcie to porządnie lub wcale.
Lisek , objawy wskazują, że to wina nagłówka user-agent. Może jednak po kolei:
Jeżeli chodzi o Firefoksa, to korzystam z wersji developerskich Minefield (kompilacje dzienne z repozytorium Mozilli). Moja obecna wersja to Firefox/Minefield 4b7pre (o ile się orientuję b6 ma jeszcze starą strukturę nagłówka UA).
Z domyślnymi ustawieniami nie udało mi się zalogować. Poszperałem w ustawieniach (about:config) i znalazłem opcję zmiany nagłówka UA na kompatybilny ze starszymi wersjami Firefoksa. Po włączeniu tej opcji logowanie powiodło się.
W przypadku midori ( v 0.2.8 ) z domyślnymi ustawieniami (przedstawia się jako midori) logowanie nie udaje się również. Jeżeli ustawię by przeglądarka przedstawiała się jako Firefox loguję się bez problemu.
Jak dla mnie wszystko wskazuje na to, iż gdzieś po drodze sprawdzanie nagłówka UA jednak występuje. Być może sprawdzenia dokonuje jakaś biblioteka, z której korzystacie?
Trochę mojego gdybania:
O ile się orientuję ASP.net wykorzystuje nagłówki UA do rozpoznawania możliwości przeglądarki odnośnie obsługi JavaScript.
Nagłówki te są porównywane z definicjami zpisanymi w plikach .browser znajdującymi się w folderze:
Jeżeli aplikacja nie znajduje właściwego pliku .browser, dla danej przeglądarki, to nie potrafi określić jej możliwości i głupieje. Logowanie jest realizowane właśnie za pomocą JavaScript więc może tu tkwi problem?
Scripter1, ja używam FF beta 7 z nowym nagłówkiem user-agent postaci:
Mozilla/5.0 (X11; Linux i686; rv:2.0b7pre) Gecko/20101001 Firefox-4.0/4.0b7pre
Jak można zauważyć fragment identyfikujący przeglądarkę to teraz Firefox-4.0/4.0b7pre zamiast Firefox/4.0b7pre. Większość metod rozpoznawania przeglądarki szuka ciągu znaków Firefox/ Jeżeli włączę tryb kompatybilności dla nagłówka user-agent, to mogę się śmiało zalogować. UA wygląda wówczas tak:
Mozilla/5.0 (X11; Linux i686; rv:2.0b7pre) Gecko/20101001 Firefox/4.0b7pre Firefox-4.0/4.0b7pre
W tym trybie przeglądarka dodaje stary ciąg identyfikujący przeglądarkę tj Firefox/ , co umożliwia jej detekcję.
Podtrzymuję zatem swoje zdanie, że to wina sprawdzania nagłówka User-Agent. Jeżeli nie bezpośrednio przez samą aplikację, to przez wykorzystywane biblioteki.
To prawda, ASP.NET wykorzystuje JS praktycznie wszędzie tam, gdzie to możliwe, a sam JS generowany przez ASP.NET jest głęboko uzależniony od przeglądarki wykrytej przez ciąg UA.
Ja na przykład (zaraz po premierze nowej wersji wortalu) chciałem ukryć swój ciąg UA w komentarzach i zamienić go na coś w stylu „Pozdrawiam”. Okazało się, że spowodowało to same problemy i pozbawiło mnie kilku funkcjonalności…
Szymas , teraz wszystko jasne, nie widziałem różnicy bo na tej stronie co dałeś linka nie jest pokazany UA w nowej strukturze tylko w starej.
Zrobiłem kilka testów i rzeczywiście potwierdzam że jest problem z logowaniem gdy przeglądarka przedstawią się jako:
Mozilla/5.0 (X11; Linux i686; rv:2.0b7pre) Gecko/20101001 Firefox-4.0/4.0b7pre
Poza tym używam też przeglądarki SeaMonkey 2.0.8 i na niej też mam takie problemy, oto jej identyfikator:
Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.13) Gecko/20100914 SeaMonkey/2.0.8
A gdy używam identyfikatora Firefoxa 3.6.10 logowanie działa czyli to rzeczywiście wina skryptu sprawdzającego UA.
– Dodane 03.10.2010 (N) 19:12 –
W SeaMonkey która jest moją główną przeglądarką już od dawna używam dodatku pozwalającego zmieniać nagłówek UA bo wiele stron dziwnie zachowywała się nie rozpoznając mojej przeglądarki (wtedy zmieniałem UA na ten właściwy dla Firefoxa).
– Dodane 03.10.2010 (N) 22:37 –
Szymas , możesz dać identyfikator aktualnej wersji Midori?
Jest mi on potrzebny do testów a i adminom dobrych programów też się chyba przyda aby rozwiązać problem…
Co do nagłówka Firefoksa, to wydaje mi się, że problem powinien zniknąć w kolejnych wersjach. Artykuł, do którego link wcześniej podałem wskazuje, że docelowy UA powinien przedstawiać liska jako Firefox/4.x.x , a nie jak obecnie Firefox-4.0/4.x.x.
Nie zmienia to jednak faktu, że tak istotna funkcjonalność jak logowanie nie powinna być podatna na zmianę nagłówka UA. Dobija również fakt, iż formularz nie daje żadnej informacji odnośnie przyczyny problemu z zalogowaniem - użyteczność = 0.
@wacek4: sprawdziłem dzisiaj naszą stronę pod Windowsem XP i Firefoksem/Operą - obie się nie zawiesiły, więc możliwe że konfiguracja Twojej przeglądarki sprawia, że dochodzi do awarii. Swoją drogą pojawienie się diody nic nie zmienia - to mały flash, bez jakiś specjalnych kodów, składający się z 2 klatek - wątpie, aby coś takiego mogło zawiesić przeglądarkę. Możliwe, że jest jakiś błąd w najnowszym Flash Playerze i wkrótce Adobe poprawi go.
Możliwe, że to wina flasha - na dwóch komputerach, do których mam dostęp, mam najnowszą wersję flasha 10.1.85.3 - też losowo występują problemy na różnych stronach. Na trzecim komputerze, (z którego teraz pisze), mam wersje 10.1.82.76 - zero jakichkolwiek problemów.
Osobiście raczej wątpię aby to flash był przyczyną.
U mnie w trakcie testów przeglądarka przy ustawionych identyfikatorach firefoxa 4.0b7 oraz seamonkey 2.0.8 nie wiesza się cała a jedynie klikanie w Zaloguj nie powoduje żadnej akcji, przy identyfikatorze firefoxa 4.0b6 oraz firefoxa 3.6.10 działa normalnie.
Może js ze skryptem logowania jest wysyłany jakiś trefny niekompatybilny z Firefoxem/SeaMonkey gdy nie nie rozpoznaje po identyfikatorze że to firefox.
lisek , sprawdź proszę przy okazji zachowanie z identyfikatorem SeaMonkey 2.0.8
Czy ktoś ma również błąd 500 przy zmianie skórki na stronie głównej ? Po dodaniu Intelowskiej cały czas występuje u mnie ten błąd .Vista ,Opera 10.62 3500 ,na tym samym kompie na Internet Explorer nie ma problemu.