Можна подумати, що коли гіперпосилання відкриваються з документа Word / Excel, стандартний браузер запускається з потрібною URL-адресою. Як не дивно, але це не так - це призводить до неприємних побічних ефектів і робить неможливими посилання на сторінки, захищені входом в систему, засновані на сеансах / файлах cookie.
Це пов’язано з модулем від Microsoft під назвою „User Agent: Microsoft Office Existence Discovery”, який попередньо завантажує посилання у фоновому режимі та відстежує будь-які переспрямування. Проблему можна відтворити таким чином: Спочатку ви створюєте два файли, які називаються "loggedin.php" (сторінка в зареєстрованому стані) та "login.php" (сторінка для входу):
5bcff34c5cecc130a0ee
5bcff34c5cecc130a0ee
Після безпосереднього виклику "loggedin.php" ви потрапляєте безпосередньо до "login.php" у вихідному стані, де файли cookie "logged_in" встановлюються негайно. Після виклику "loggedin.php" знову ви отримуєте повідомлення "ви зареєстровані у ". Якщо ви зробите посилання на" loggedin.php "у програмі Word або Excel (версія 2007 або пізнішої версії), ви завжди потрапите безпосередньо до" login.php ", незалежно від того, ввійшли ви чи ні.
Програми Office запускають компонент Internet Explorer у фоновому режимі, щоб перевірити, чи існує URL-адреса. Будь-які переадресації також відстежуються до кінця, а остання URL-адреса без переадресації (у нашому випадку "login.php") повертається і викликається за допомогою стандартного браузера. Можливим рішенням є перехоплення та блокування фонового дзвінка на першій сторінці:
5bcff34c5cecc130a0ee