"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo configurar el atributo iframe src desde una variable de forma segura en AngularJS?

¿Cómo configurar el atributo iframe src desde una variable de forma segura en AngularJS?

Publicado el 2024-11-08
Navegar:416

How to Set iframe src Attribute from a Variable Safely in AngularJS?

Configuración del atributo src de iframe desde variable en AngularJS

En AngularJS, puedes encontrar problemas al intentar configurar el atributo src de un iframe desde una variable. Para solucionar este problema, aquí tienes una guía paso a paso:

1. Inyecte el servicio $sce

Inyecte el servicio $sce (escapado contextual estricto) en su controlador para manejar la desinfección.

function AppCtrl($scope, $sce) {
  // ...
}

2. Confíe en la URL del recurso

Utilice $sce.trustAsResourceUrl dentro del controlador para garantizar que la URL sea segura.

$scope.setProject = function (id) {
  $scope.currentProject = $scope.projects[id];
  $scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);
}

3. Actualizar la plantilla

En la plantilla, vincule el atributo ng-src a la variable URL confiable.

Código de ejemplo

function AppCtrl($scope, $sce) {
  $scope.projects = {
    // ...
  };

  $scope.setProject = function (id) {
    $scope.currentProject = $scope.projects[id];
    $scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);
  };
}
  • {{project.name}}

Notas adicionales

  • Utilice $sce.trustSrc para URL que no sean de confianza.
  • La solución gira en torno a la prevención de Cross-Site Ataques de scripting (XSS) garantizando que las URL sean seguras.
Declaración de liberación Este artículo se reimprime en: 1729487777 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3