"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como definir o atributo iframe src de uma variável com segurança no AngularJS?

Como definir o atributo iframe src de uma variável com segurança no AngularJS?

Publicado em 2024-11-08
Navegar:435

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

Definindo o atributo iframe src da variável em AngularJS

No AngularJS, você pode encontrar problemas ao tentar definir o atributo src de um iframe de uma variável. Para resolver isso, aqui está um guia passo a passo:

1. Injete o serviço $sce

Injete o serviço $sce (Strict Contextual Escaping) em seu controlador para lidar com a higienização.

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

2. Confie no URL do recurso

Use $sce.trustAsResourceUrl no controlador para garantir que o URL seja seguro.

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

3. Atualize o modelo

No modelo, vincule o atributo ng-src à variável de URL confiável.

Código de exemplo

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 adicionais

  • Use $sce.trustSrc para URLs não confiáveis.
  • A solução gira em torno da prevenção de cross-site Ataques de script (XSS), garantindo que os URLs sejam seguros.
Declaração de lançamento Este artigo foi reimpresso em: 1729487777 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3