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

Comment définir dynamiquement l'attribut src de l'iframe en toute sécurité dans AngularJS ?

Barbara Streisand
Libérer: 2024-10-21 14:16:03
original
749 Les gens l'ont consulté

How to Dynamically Set the iframe's src Attribute Securely in AngularJS?

Définition dynamique de l'attribut src d'iframe dans AngularJS

Lorsque vous travaillez avec des iframes dans AngularJS, il est souvent nécessaire de définir l'attribut src de manière dynamique en fonction d'un variable. Cependant, tenter de le faire avec une affectation standard peut entraîner le rendu d'un attribut src vide dans l'iframe.

Comprendre le problème et la solution

Le problème survient lorsque vous essayez pour définir l'attribut src avec une URL non fiable. AngularJS met en œuvre des mesures de sécurité pour empêcher les attaques potentielles XSS (cross-site scripting). Pour atténuer cela, le service $sce (Strict Contextual Escaping) doit être utilisé pour « faire confiance » à l'URL avant de l'attribuer.

La méthode trustAsResourceUrl() du service $sce peut être utilisée pour marquer explicitement un URL comme fiable, garantissant qu'elle peut être utilisée en toute sécurité dans un modèle AngularJS.

Implémentation du code

Dans le fichier contrôleurs/app.js fourni, injectez le $sce service dans AppCtrl et modifiez la fonction setProject() comme suit :

<code class="javascript">$scope.setProject = function (id) {
    $scope.currentProject = $scope.projects[id];
    $scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);
}</code>
Copier après la connexion

Dans le modèle HTML, mettez à jour l'attribut src de l'iframe pour référencer la variable currentProjectUrl :

<code class="html"><iframe ng-src="{{currentProjectUrl}}"></iframe></code>
Copier après la connexion

Explication

En appelant trustAsResourceUrl(), l'URL est marquée comme fiable et peut être utilisée en toute sécurité dans le modèle AngularJS. La directive ng-src définira ensuite l'attribut src de l'iframe avec l'URL de confiance.

Notes supplémentaires

  • La méthode trustAsResourceUrl() ne doit être utilisée que lorsque l'URL est connue pour être sûre et fiable.
  • Si l'URL n'est pas entièrement qualifiée (par exemple, le schéma ou le nom d'hôte manque), AngularJS peut lancer un avertissement de sécurité.
  • Pour répondre aux problèmes de sécurité. , il est toujours conseillé de mettre en œuvre une validation et une désinfection appropriées côté serveur avant d'accepter les URL fournies par l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
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!