Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des compétences js de même origine Policy_Javascript

WBOY
Libérer: 2016-05-16 15:58:06
original
1277 Les gens l'ont consulté

Cet article analyse plus en détail la stratégie js de même origine. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Concept : La même politique d'origine est une mesure de sécurité importante pour les scripts côté client (en particulier Javascript). Il est issu de Netscape Navigator2.0 et son objectif est d'empêcher le chargement d'un document ou d'un script à partir de plusieurs sources différentes.

La même origine désigne ici : le même protocole, le même nom de domaine et le même port.

Essence :

L'essence de ce système est simple : il considère que le contenu fiable chargé à partir de n'importe quel site est dangereux. Lorsque des scripts dont le navigateur n'a pas confiance sont exécutés dans un bac à sable, ils ne doivent être autorisés à accéder qu'aux ressources du même site, et non à celles d'autres sites susceptibles d'être malveillants.

Pourquoi y a-t-il une restriction de même origine ?

Donnons un exemple : par exemple, un programme de hacker utilise IFrame pour intégrer la vraie page de connexion bancaire sur sa page. Lorsque vous vous connectez avec votre vrai nom d'utilisateur et votre mot de passe, sa page peut être lue via Javascript. saisissez-le dans votre formulaire, afin que le nom d'utilisateur et le mot de passe puissent être facilement obtenus.

Application Ajax :

Cette limitation de sécurité est rompue dans les applications Ajax.

Dans les applications Javascript ordinaires, nous pouvons modifier le href du Frame ou le src de l'IFrame pour réaliser une soumission inter-domaines en mode GET, mais nous ne pouvons pas accéder au contenu dans le Frame/IFrame inter-domaines.

Ajax utilise XMLHTTP pour l'interaction asynchrone. Cet objet peut également interagir avec des serveurs distants. Ce qui est encore plus dangereux, c'est que XMLHTTP est un objet Javascript pur. Ce processus d'interaction est effectué en arrière-plan. Par conséquent, XMLHTTP a en fait dépassé les limitations de sécurité d'origine de Javascript.

Si nous voulons profiter des capacités d'interaction asynchrone sans actualisation de XMLHTTP, mais ne sommes pas disposés à enfreindre de manière flagrante la politique de sécurité de Javascript, l'alternative consiste à ajouter des restrictions strictes de même origine à XMLHTTP. Une telle politique de sécurité est très similaire à la politique de sécurité d'Applet. La limitation d'IFrame est qu'il ne peut pas accéder aux données dans HTMLDOM inter-domaines, tandis que XMLHTTP limite fondamentalement la soumission de requêtes inter-domaines .

Prise en charge du navigateur : IE ouvre en fait deux portes dérobées pour cette politique de sécurité. La première est la suivante : il suppose que vos fichiers locaux sauront naturellement à quel contenu ils accéderont, donc aucun de vos fichiers locaux n'accédera à des données externes. avertissement. Une autre solution est la suivante : lorsque le script du site Web que vous visitez a l'intention d'accéder à des informations inter-domaines, il affiche simplement une boîte de dialogue pour vous le rappeler. Si un site Web frauduleux utilise cette méthode pour vous fournir une fausse page, il vous aide ensuite à vous connecter à distance au véritable serveur de la banque via XMLHTTP. Un seul des 10 utilisateurs était confus et a cliqué sur OK. Leur vol de compte a réussi ! Pensez-y, comme c'est dangereux !

FireFox ne fait pas cela. Par défaut, FireFox ne prend pas du tout en charge les requêtes XMLHTTP inter-domaines et n'offre pas une telle opportunité aux pirates.

Éviter la stratégie de même origine :

JSON et balises de script dynamique

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!