Uszkodzone hiperłącza w programach Word i Excel

Można by oczekiwać, że otwarcie hiperłączy w dokumencie Word/Excel uruchomi domyślną przeglądarkę z żądanym adresem URL. Co dziwne, tak się nie dzieje – prowadzi to do niepożądanych efektów ubocznych i uniemożliwia korzystanie z linków do stron chronionych logowaniem za pomocą sesji lub plików cookie w tych programach pakietu Office.


Winowajcą jest moduł o nazwie „User Agent: Microsoft Office Existence Discovery” firmy Microsoft, który wstępnie ładuje link w tle i śledzi wszelkie przekierowania. Problem można odtworzyć w następujący sposób: Najpierw utwórz dwa pliki o nazwach „loggedin.php” (strona po zalogowaniu) i „login.php” (strona logowania):

5bcff34c5cecc130a0ee

5bcff34c5cecc130a0ee

Po bezpośrednim wywołaniu „loggedin.php” przejdziesz bezpośrednio do „login.php” w oryginalnym stanie, gdzie natychmiast zostanie ustawiony plik cookie „logged_in”. Po ponownym wywołaniu „loggedin.php” pojawi się komunikat „jesteś zalogowany”. Jeśli zamieścisz link do „loggedin.php” w programie Word lub Excel (od wersji 2007), zawsze przejdziesz bezpośrednio do „login.php”, niezależnie od tego, czy logowałeś się już wcześniej, czy nie.

Programy pakietu Office uruchamiają w tle składnik przeglądarki Internet Explorer w celu sprawdzenia, 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 dostępny w standardowej przeglądarce. Możliwym rozwiązaniem jest przechwycenie i zablokowanie połączenia w tle na pierwszej stronie:

5bcff34c5cecc130a0ee

Plecy