Uszkodzone hiperłącza w programach Word i Excel

Można by pomyśleć, że otwierając hiperłącza z dokumentu Word / Excel, standardowa przeglądarka jest uruchamiana z żądanym adresem URL. O dziwo tak nie jest - co prowadzi do nieprzyjemnych skutków ubocznych i uniemożliwia odsyłanie do stron chronionych loginem w ramach sesji / plików cookie we wspomnianych programach biurowych.


Dzieje się tak dzięki modułowi o nazwie „User Agent: Microsoft Office Existence Discovery” firmy Microsoft, który wstępnie ładuje łącze w tle i śledzi przekierowania. Problem można odtworzyć w następujący sposób: Najpierw utwórz dwa pliki o nazwach „loggedin.php” (strona w stanie zalogowania) i „login.php” (strona do logowania):

5bcff34c5cecc130a0ee

5bcff34c5cecc130a0ee

Po bezpośrednim wywołaniu "loggedin.php", dostajesz się bezpośrednio do "login.php" w pierwotnym stanie, gdzie ciasteczko "logged_in" jest ustawiane natychmiast. Po ponownym wywołaniu "loggedin.php" pojawia się komunikat "jesteś zalogowany w ". Jeśli połączysz się z" loggedin.php "w programie Word lub Excel (wersja 2007 lub nowsza), zawsze przejdziesz bezpośrednio do" login.php ", niezależnie od tego, czy jesteś już zalogowany, czy nie.

Programy pakietu Office uruchamiają składnik programu Internet Explorer w tle, aby sprawdzić, czy adres URL istnieje. Wszelkie przekierowania są również śledzone do końca, a ostatni adres URL bez przekierowania (w naszym przypadku "login.php") jest zwracany i wywoływany za pomocą standardowej przeglądarki. Możliwym rozwiązaniem jest przechwycenie i zablokowanie wywołania w tle na pierwszej stronie:

5bcff34c5cecc130a0ee

Plecy