Ci si aspetterebbe che l'apertura di collegamenti ipertestuali all'interno di un documento Word/Excel avvii il browser predefinito con l'URL desiderato. Stranamente, non è così, il che porta a effetti collaterali indesiderati e rende impossibile l'accesso a pagine protette da login basate su sessioni o cookie in questi programmi di Office.
Il colpevole è il modulo denominato “User Agent: Microsoft Office Existence Discovery” di Microsoft, che precarica il collegamento in background e tiene traccia di eventuali reindirizzamenti. Il problema può essere riprodotto come segue: Innanzitutto, crea due file chiamati "loggedin.php" (pagina per l'accesso) e "login.php" (pagina per l'accesso):
5bcff34c5cecc130a0ee
5bcff34c5cecc130a0ee
Dopo aver richiamato direttamente "loggedin.php" si arriva direttamente a "login.php" nello stato originale, dove viene immediatamente impostato il cookie "logged_in". Dopo aver richiamato nuovamente "loggedin.php" riceverai il messaggio "hai effettuato l'accesso". Se ti colleghi a "loggedin.php" in Word o Excel (dalla versione 2007), andrai sempre direttamente a "login.php", indipendentemente dal fatto che tu abbia già effettuato il login o meno.
I programmi di Office avviano un componente di Internet Explorer in background per verificare se l'URL esiste. Anche eventuali reindirizzamenti vengono tracciati fino alla fine e l'ultimo URL senza reindirizzamento (nel nostro caso "login.php") viene restituito e accessibile con il browser standard. Una possibile soluzione è intercettare e bloccare la chiamata in background sulla prima pagina:
5bcff34c5cecc130a0ee