디스크에 쓰기

Adobe AIR 1.0 이상

웹 브라우저에서 실행 중인 응용 프로그램은 사용자의 로컬 파일 시스템과 제한적으로만 상호 작용합니다. 웹 브라우저는 웹 내용 로드 결과로 사용자의 컴퓨터가 손상되지 않도록 하는 보안 정책을 구현합니다. 예를 들어 브라우저에서 Flash Player를 통해 실행하는 SWF 파일은 사용자 컴퓨터에 이미 있는 파일과 직접 상호 작용할 수 없습니다. 공유 객체 및 쿠키는 사용자 환경 설정 및 기타 데이터를 유지하기 위해 사용자 컴퓨터에 기록될 수 있지만 이는 파일 시스템 상호 작용의 한계입니다. AIR 응용 프로그램은 기본적으로 설치되므로 로컬 파일 시스템 전체에서 읽고 쓰는 기능을 포함하는 서로 다른 보안 계약을 가지고 있습니다.

이러한 자유로운 환경이 제공되는 반면 개발자의 책임도 강화됩니다. 갑작스러운 응용 프로그램 보안 문제는 응용 프로그램의 기능뿐만 아니라 사용자 컴퓨터의 무결성도 저해합니다. 따라서 개발자는 개발자에 대한 최선의 보안 방법을 읽어야 합니다.

AIR 개발자는 여러 URL 스킴 규칙을 사용하여 파일에 액세스하고 파일을 로컬 파일 시스템에 쓸 수 있습니다.

URL 스킴

설명

app:/

응용 프로그램 디렉토리에 대한 별칭입니다. 이 경로에서 액세스한 파일에 응용 프로그램 샌드박스가 할당되며 런타임에 의해 부여된 전체 권한이 제공됩니다.

app-storage:/

로컬 저장소 디렉토리에 대한 별칭으로, 런타임에 의해 표준화됩니다. 이 경로에서 액세스한 파일에 비 응용 프로그램 샌드박스가 할당됩니다.

file:///

사용자 하드 디스크의 루트를 나타내는 별칭입니다. 이 경로에서 액세스한 파일에는 파일이 응용 프로그램 디렉토리에 있으면 응용 프로그램 샌드박스가 할당되고, 그렇지 않으면 비 응용 프로그램 샌드박스가 할당됩니다.

참고: AIR 응용 프로그램은 app: URL 스킴을 사용하여 내용을 수정할 수 없습니다. 또한 응용 프로그램 디렉토리는 관리자 설정에 의해서만 읽을 수 있습니다.

사용자 컴퓨터에 대한 관리자 제한 사항이 없으면 AIR 응용 프로그램에서 사용자 하드 드라이브의 어떤 위치에도 쓸 수 있습니다. 개발자는 해당 응용 프로그램 관련 로컬 저장소에 대해 app-storage:/ 경로를 사용하는 것이 좋습니다. 응용 프로그램에서 app-storage:/로 작성된 파일은 다음과 같이 표준 위치에 배치됩니다.

  • Mac OS의 경우: 응용 프로그램의 저장소 디렉토리는 <appData>/<appId>/Local Store/이며 여기서 <appData>는 사용자의 환경 설정 폴더입니다. 일반적으로 /Users/<user>/Library/Preferences입니다.

  • Windows의 경우: 응용 프로그램의 저장소 디렉토리는 <appData>\<appId>\Local Store\이며 여기서 <appData>는 사용자의 CSIDL_APPDATA Special Folder입니다. 일반적으로 C:\Documents and Settings\<userName>\Application Data입니다.

  • Linux의 경우: <appData>/<appID>/Local Store/이며 여기서 <appData>/home/<user>/.appdata입니다.

응용 프로그램이 사용자 파일 시스템의 기존 파일과 상호 작용하도록 설계된 경우 개발자에 대한 최선의 보안 방법을 읽어야 합니다.