On pourrait s'attendre à ce que l'ouverture d'un lien hypertexte depuis un document Word/Excel lance le navigateur par défaut avec l'URL souhaitée. Curieusement, ce n'est pas le cas, ce qui entraîne des effets indésirables et rend impossible l'ouverture de liens vers des pages protégées par authentification (session ou cookies) dans ces applications Office.
Le coupable est le module nommé « User Agent : Microsoft Office Existence Discovery » de Microsoft, qui précharge le lien en arrière-plan et suit les éventuelles redirections. Le problème peut être reproduit comme suit : Tout d'abord, créez deux fichiers appelés "loggedin.php" (page de connexion) et "login.php" (page de connexion):
5bcff34c5cecc130a0ee
5bcff34c5cecc130a0ee
Après avoir appelé directement "loggedin.php", vous accédez directement à "login.php" dans son état d'origine, où le cookie "logged_in" est immédiatement défini. Après avoir appelé à nouveau « loggedin.php », vous obtenez le message « vous êtes connecté ». Si vous créez un lien vers « loggedin.php » dans Word ou Excel (à partir de la version 2007), vous accéderez toujours directement à « login.php », que vous soyez déjà connecté auparavant ou non.
Les programmes Office démarrent un composant Internet Explorer en arrière-plan pour vérifier si l'URL existe. Toutes les redirections sont également suivies jusqu'à la fin et la dernière URL sans redirection (dans notre cas « login.php ») est renvoyée et accessible avec le navigateur standard. Une solution possible consiste à intercepter et bloquer l'appel en arrière-plan sur la première page:
5bcff34c5cecc130a0ee