>웹 프론트엔드 >JS 튜토리얼 >AngularJS에서 변수의 iframe src 속성을 안전하게 설정하는 방법은 무엇입니까?

AngularJS에서 변수의 iframe src 속성을 안전하게 설정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-21 13:22:31261검색

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

AngularJS 변수에서 iframe src 속성 설정

AngularJS에서 iframe의 src 속성을 설정하려고 하면 문제가 발생할 수 있습니다. 변수. 이 문제를 해결하기 위한 단계별 가이드는 다음과 같습니다.

1. $sce 서비스 삽입

$sce(Strict Contextual Escaping) 서비스를 컨트롤러에 삽입하여 삭제를 처리합니다.

<code class="js">function AppCtrl($scope, $sce) {
  // ...
}</code>

2. 리소스 URL을 신뢰하세요

컨트롤러 내에서 $sce.trustAsResourceUrl을 사용하여 URL이 안전한지 확인하세요.

<code class="js">$scope.setProject = function (id) {
  $scope.currentProject = $scope.projects[id];
  $scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);
}</code>

3. 템플릿 업데이트

템플릿에서 ng-src 속성을 신뢰할 수 있는 URL 변수에 바인딩합니다.

<code class="html"><iframe ng-src="{{currentProjectUrl}}"> <!-- content --> </iframe></code>

예제 코드

<code class="js">function AppCtrl($scope, $sce) {
  $scope.projects = {
    // ...
  };

  $scope.setProject = function (id) {
    $scope.currentProject = $scope.projects[id];
    $scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);
  };
}</code>
<code class="html"><ul ng-repeat="project in projects">
  <li ng-click="setProject(project.id)">{{project.name}}</li>
</ul>

<iframe ng-src="{{currentProjectUrl}}">
  Something wrong...
</iframe></code>

추가 참고 사항

  • 신뢰할 수 없는 URL에는 $sce.trustSrc를 사용하세요.
  • 해결 방법은 Cross-Site Scripting(XSS)을 방지하는 것입니다. ) URL이 안전한지 확인하여 공격합니다.

위 내용은 AngularJS에서 변수의 iframe src 속성을 안전하게 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.