2017-09-21 2 views
0

Je suis dans la situation suivante:Un cas d'utilisation de contourner la politique d'origine

  1. Je travaille dans le milieu universitaire, et j'ai une page Web dans mon établissement. Pour des raisons intranet, je ne peux pas y accéder sauf par SSH depuis mon PC local. Je vais avoir un poste temporaire dans un autre pays, où je maintiendrai ma page Web.

  2. Je veux que l'ancienne page Web inclue un lien vers la nouvelle à la fois et non plus tard.

Voici idée « brillante » est venu me:

  1. Je vais créer un fichier texte séparé sur chaque serveur ma page web est hébergé, chacun contenant un code d'identification unique du serveur (séparé pour des raisons de modularité).

  2. Je vais créer un fichier texte sur un serveur d'hébergement de texte public contenant: le code du serveur actuel et une liste de codes correspondants avec des URL. Dans le HTML (commun) de chaque instance de ma page web, je vais mettre un code JavaScript vérifiant le fichier texte et si les deux sont lus sans erreur et le serveur courant local diffère du serveur courant global, remplacez ensuite le code HTML interne d'une grande div par le lien de redirection.

Il s'avère que cela ne fonctionne pas à cause de la politique d'origine identique. Avez-vous des suggestions? Je vous remercie.

Répondre

0

Il existe un certain nombre de méthodes standard pour traiter les problèmes de politique de même origine. Votre situation est simple car les données désirées ne sont pas secrètes et peuvent être rendues publiques sans authentification (je suppose). Le meilleur moyen serait d'utiliser CORS, une norme qui permet au serveur de spécifier quelles origines peuvent accéder à ses données. Ainsi, votre serveur public à l'étape 2 aurait une configuration CORS permettant l'accès de toutes les origines. Tous les navigateurs modernes respecteront cette valeur et autoriseront la demande.

Une alternative qui ne nécessite aucune configuration de serveur serait d'utiliser JSONP. Dans ce cas, au lieu d'un fichier texte accessible par XHR, vous en feriez un fichier Javascript accessible par une balise de script (qui n'est pas limitée par la SOP).

Vous pouvez trouver beaucoup d'articles et de tutoriels sur ces solutions de contournement et d'autres solutions de même origine.