아웃바운드 URL 액세스 제어
Flash Player 9 이상, Adobe AIR 1.0 이상
아웃바운드 스크립팅 및 URL 액세스(HTTP URL, mailto: 등 사용)는 다음 API를 사용하여 수행됩니다.
-
flash.system.fscommand()
함수
-
ExternalInterface.call()
메서드
-
flash.net.navigateToURL()
함수
로컬 파일 시스템에서 로드된 내용의 경우 코드 및 포함 웹 페이지(있는 경우)가 local-trusted 또는 AIR 응용 프로그램 보안 샌드박스에 있는 이러한 메서드 호출이 성공합니다. 내용이 local-with-networking 또는 local-with-filesystem 샌드박스에 있는 경우에는 해당 메서드에 대한 호출이 실패합니다.
로컬에서 로드되지 않은 내용의 경우 아래에 설명된 AllowScriptAccess 매개 변수의 값에 따라 이러한 모든 API가 포함된 웹 페이지와 통신할 수 있습니다.
flash.net.navigateToURL()
함수에는 SWF 파일이 포함된 페이지뿐 아니라 열려 있는 모든 브라우저 윈도우나 프레임과 통신할 수 있는 추가 기능이 있습니다. 이 기능에 대한 자세한 내용은
navigateToURL() 함수 사용
을 참조하십시오.
SWF 파일을 로드하는 HTML 코드의
AllowScriptAccess
매개 변수는 SWF 파일 내에서 URL 액세스를 수행하는 기능을 제어합니다. PARAM 또는 EMBED 태그 내부에 이 매개 변수를 설정합니다.
AllowScriptAccess
에 대해 값이 설정되지 않은 경우 SWF 파일과 HTML 페이지가 동일한 도메인에 속해 있는 경우에만 서로 통신할 수 있습니다.
AllowScriptAccess
매개 변수는 가능한 세 가지 값,
"always"
,
"sameDomain"
또는
"never"
중 하나를 가질 수 있습니다.
-
AllowScriptAccess
가
"always"
이면 SWF 파일은 HTML 페이지와 다른 도메인에 있는 경우에도 SWF 파일이 포함된 HTML 페이지와 통신할 수 있습니다.
-
AllowScriptAccess
가
"sameDomain"
이면 SWF 파일은 HTML 페이지와 동일한 도메인에 속해 있는 경우에만 SWF 파일이 포함된 HTML 페이지와 통신할 수 있습니다. 이 값이
AllowScriptAccess
의 기본값입니다. 한 도메인에 호스팅된 SWF 파일이 다른 도메인에 속해 있는 HTML 페이지의 스크립트에 액세스할 수 없도록 하려면 이 설정을 사용하거나
AllowScriptAccess
값을 설정하지 마십시오.
-
AllowScriptAccess
가
"never"
이면 SWF 파일에서 어떠한 HTML 페이지와도 통신할 수 없습니다. Adobe Flash CS4 Professional 릴리스 이후부터 이 값은 사용되지 않습니다. 따라서 이 값은 더 이상 사용하지 않는 것이 좋으며 사용자의 도메인에서 신뢰할 수 없는 SWF 파일을 제공하지 않는 한 이 값은 필요하지 않습니다. 신뢰할 수 없는 SWF 파일을 불가피하게 제공해야 하는 경우 신뢰할 수 없는 모든 내용을 배치할 별도의 하위 도메인을 만드는 것이 좋습니다.
다음은 HTML 페이지에
AllowScriptAccess
태그를 설정하여 다른 도메인에 대한 아웃바운드 URL 액세스를 허용하는 예제입니다.
<object id='MyMovie.swf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' height='100%' width='100%'>
<param name='AllowScriptAccess' value='always'/>
<param name='src' value=''MyMovie.swf'/>
<embed name='MyMovie.swf' pluginspage='http://www.adobe.com/go/getflashplayer' src='MyMovie.swf' height='100%' width='100%' AllowScriptAccess='never'/>
</object>
navigateToURL() 함수 사용
위에서 설명한
allowScriptAccess
매개 변수로 지정된 보안 설정 외에도
navigateToURL()
함수에는 선택적인 두 번째 매개 변수
target
이 있습니다.
target
매개 변수를 사용하여 URL 요청을 보낼 HTML 윈도우 또는 프레임의 이름을 지정할 수 있습니다. 이러한 요청에는 추가 보안 제한이 적용되며, 제한 사항은
navigateToURL()
이 스크립팅 또는 비스크립팅 문으로 사용되는지에 따라 달라집니다.
navigateToURL("javascript: alert('Hello from Flash Player.')")
과 같은 스크립팅 문의 경우 다음 규칙이 적용됩니다.
-
SWF 파일이 로컬에서 신뢰할 수 있는 파일인 경우 요청이 성공합니다.
-
SWF 파일이 포함된 HTML 페이지가 대상인 경우 위에서 설명한
allowScriptAccess
규칙이 적용됩니다.
-
대상이 SWF 파일과 동일한 도메인에서 로드된 내용을 포함하는 경우 요청이 성공합니다.
-
대상이 SWF 파일과 다른 도메인에서 로드된 내용을 포함하며 앞의 두 조건이 하나도 충족되지 않을 경우 요청이 실패합니다.
비스크립팅 문(예: HTTP, HTTPS 및
mailto:
)의 경우 다음 조건이 모두 충족되면 요청이 실패합니다.
-
대상이 특수 키워드
"_top"
또는
"_parent"
중 하나인 경우
-
SWF 파일이 다른 도메인에서 호스팅된 웹 페이지에 있는 경우
-
allowScriptAccess
의 값이
"always"
가 아닌 상태로 SWF 파일이 포함된 경우
자세한 내용
아웃바운드 URL 액세스에 대한 자세한 내용은
Adobe Flash Platform용 ActionScript 3.0 참조 설명서
의 다음 항목을 참조하십시오.
|
|
|