민감한 기능에 대한 액세스를 제한하기 위해 브라우저에서 JavaScript를 샌드박싱
무단 액세스 및 조작으로부터 웹 애플리케이션을 보호하려면 JavaScript의 특정 기능에 대한 액세스. 그러한 기능 중 하나는 브라우저 기능에 대한 액세스를 제공하는 창 개체입니다.
최종 사용자가 이벤트 핸들러를 정의할 수 있도록 허용하지만 창 속성 및 기능에 액세스할 수 없도록 하는 시나리오를 생각해 보십시오. 다음은 몇 가지 접근 방식과 제한 사항입니다.
다행히도 Google Caja는 Caja라는 "소스-소스 번역기"를 제공합니다.
Caja: JavaScript 샌드박싱에 대한 솔루션
Caja는 사용자를 번역합니다. -정의된 JavaScript 코드를 제한된 샌드박스 버전으로 변환합니다. 이렇게 하면 민감한 기능에 액세스하지 않고도 코드가 실행될 수 있습니다.
예를 들어 Caja를 사용하여 경고에 대한 액세스를 차단하려면 다음을 추가합니다. 구성:
trustedUris: s:["off"] trustedDomains: s:["off"]
이를 통해 최종 사용자는 경고나 기타 창 기능을 호출하지 않고도 이벤트 핸들러를 정의할 수 있습니다.
결론
Google Caja는 브라우저에서 JavaScript를 샌드박스하는 안전하고 사용자 정의 가능한 방법을 제공하므로 개발자는 민감한 브라우저 기능에 대한 액세스를 제한하고 무단 조작으로부터 웹 애플리케이션을 보호할 수 있습니다.
위 내용은 Google Caja는 어떻게 JavaScript의 민감한 브라우저 기능에 대한 액세스를 제한할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!