Caixas de proteção de segurançaFlash Player 9 e posterior, Adobe AIR 1.0 e posterior Os computadores clientes podem obter arquivos individuais que contêm código, conteúdo e dados de várias fontes, como sites externos, um sistema local de arquivos ou de um aplicativo AIR instalado. Os aplicativos Flash Player e AIR atribuem arquivos de código e outros recursos individualmente, como objetos compartilhados, bitmaps, sons, vídeos e arquivos de dados, a caixas de proteção de segurança com base em sua origem quando eles são carregadas. As seções a seguir descrevem as regras aplicadas pelos aplicativos que controlam o que um código ou conteúdo dentro de uma determinada caixa de proteção pode acessar. Para obter mais informações sobre a segurança do Flash Player, consulte o tópico “Segurança” do Centro de desenvolvedores do Flash Player, em www.adobe.com/go/devnet_security_br. Caixas de proteção remotasOs aplicativos Flash Player e AIR classificam os recursos (inclusive arquivos SWF) da Internet em caixas de proteção separadas que correspondem ao seu domínio de origem. Por exemplo, os recursos carregados de example.com serão colocados em uma caixa de proteção diferente dos recursos carregados de foo.org. Por padrão, esses arquivos têm permissão para acessar quaisquer recursos de seu próprio servidor. Arquivos SWF remotos podem receber permissão para acessar dados adicionais de outros domínios por permissões explícitas de autor e de site, como arquivos de política de URL e o método Security.allowDomain(). Para obter detalhes, consulte Controles de site (arquivos de política) eControles de autor (desenvolvedor). Arquivos SWF remotos não podem carregar nenhum recurso ou arquivo local. Para obter mais informações sobre a segurança do Flash Player, consulte o tópico “Segurança” do Centro de desenvolvedores do Flash Player, em www.adobe.com/go/devnet_security_br. Caixas de proteção locaisArquivo local descreve qualquer arquivo que é referenciado usando o protocolo file: ou um caminho UNC (Convenção de nomenclatura universal). Arquivos SWF locais são colocados em uma de quatro caixas de proteção locais:
A comunicação entre as caixas de proteção local com rede e local com sistema de arquivos, bem como a comunicação entre as caixas de proteção remota e local com sistema de arquivos, é estritamente proibida. Permissão para essa comunicação não pode ser concedida por um aplicativo executado no Flash Player ou por um usuário ou administrador. Script em qualquer direção entre arquivos HTML locais e arquivos SWF locais, por exemplo, usando a classe ExternalInterface, exige que tanto os arquivos HTML quanto os arquivos SWF envolvidos estejam na caixa de proteção local confiável. Isso ocorre porque os modelos de segurança locais de navegadores diferem do modelo de segurança local do Flash Player. Arquivos SWF na caixa de proteção local com rede não podem carregar arquivos SWF na caixa de proteção local com sistema de arquivos. Arquivos SWF na caixa de proteção local com sistema de arquivos não podem carregar arquivos SWF na caixa de proteção local com rede. A caixa de proteção do aplicativo AIRO aplicativo Adobe AIR acrescenta uma caixa de proteção a mais, chamada application, ao modelo de caixa de proteção de segurança do Flash Player. Os arquivos instalados como parte de um aplicativo AIR são carregados na caixa de proteção do aplicativo. Qualquer outro arquivo carregado pelo aplicativo terá restrições de segurança correspondentes àquelas especificadas pelo modelo normal de segurança do Flash Player. Quando um aplicativo for instalado, todos os arquivos incluídos em um pacote do AIR são instalados em um diretório do aplicativo no computador do usuário. Os desenvolvedores podem fazer referência a esse diretório no código por meio do esquema de URL app:/ (consulte Esquemas de URI). Todos os arquivos na árvore de diretório do aplicativo são atribuídos à caixa de proteção do aplicativo quando o aplicativo é executado. O conteúdo na caixa de proteção do aplicativo é agraciado com os privilégios completos disponíveis para o aplicativo AIR , incluindo interação com o sistema de arquivos local. Muitos dos aplicativos AIR só usam esses arquivos instalados localmente para executar o aplicativo. No entanto, os aplicativos AIR não estão restritos apenas aos arquivos no diretório do aplicativo - eles podem carregar qualquer tipo de arquivo de qualquer fonte. Isso inclui arquivos locais do computador do usuário, bem como arquivos de fontes externas disponíveis, como aqueles em uma rede local ou na Internet. O tipo de arquivo não tem nenhum impacto nas restrições de segurança, os arquivos HTML carregados têm os mesmos privilégios de segurança dos arquivos SWF carregados da mesma fonte. O conteúdo na caixa de proteção de segurança do aplicativo tem acesso as APIs do AIR que o conteúdo de outras caixas de proteção não pode usar. Por exemplo, a propriedade air.NativeApplication.nativeApplication.applicationDescriptor, que retorna o conteúdo do arquivo descritor do aplicativo para o aplicativo, está restrita ao conteúdo na caixa de proteção de segurança do aplicativo. Outro exemplo de API restrita é a classe FileStream, que contém métodos de leitura e gravação no sistema de arquivos local. As APIs do ActionScript disponíveis apenas para o conteúdo na caixa de proteção de segurança do aplicativo são indicadas com o logotipo do AIR na Referência do ActionScript 3.0 para a plataforma Adobe Flash. Usar essas APIs em outras caixas de proteção faz com que o tempo de execução lance uma exceção SecurityError. No conteúdo HTML (em um objeto HTMLLoader), todas as APIs JavaScript do AIR (aquelas que estão disponíveis através da propriedade window.runtime ou através do objeto air durante o uso do arquivo AIRAliases.js) estão disponíveis para o conteúdo na caixa de proteção de segurança do aplicativo. O conteúdo HTML de outra caixa de proteção não tem acesso à propriedade window.runtime, portanto, esse conteúdo não pode acessar as APIs do AIR ou do Flash Player. Os conteúdos executados na caixa de proteção do aplicativo AIR têm as seguintes restrições a mais:
Restrições a JavaScript dentro do AIRAo contrário do conteúdo na caixa de proteção de segurança do aplicativo, o conteúdo JavaScript em uma caixa de proteção de segurança que não seja de aplicativo pode chamar a função eval() para executar código gerado dinamicamente a qualquer momento. Entretanto, existem restrições a JavaScript executado em uma caixa de proteção de segurança que não seja de aplicativo dentro do AIR. Isso inclui:
Para obter detalhes, consulte Restrições de código de conteúdo em caixas de proteção distintas. Configuração de tipo de caixa de proteção de arquivos SWF locaisUm usuário final ou o administrador de um computador pode especificar que um arquivo SWF local é confiável, permitindo que ele carregue dados de todos os domínios, tanto locais quanto de rede. Isso é especificado nos diretórios Global Flash Player Trust e User Flash Player Trust. Para obter mais informações, consulte Controles de administrador e Controles de usuário. Para obter mais informações sobre caixas de proteção locais, consulte Caixas de proteção locais. Adobe Flash ProfessionalÉ possível configurar um arquivo SWF para a caixa de proteção local com sistema de arquivos ou a caixa de proteção local com rede definindo-se as configurações de publicação do documento na Ferramenta de autoria. Adobe FlexÉ possível configurar um arquivo SWF para a caixa de proteção local com sistema de arquivos ou a caixa de proteção local com rede configurando o sinalizador use-network no compilador do Adobe Flex. Para obter mais informações, consulte “Sobre as opções do compilador do aplicativo” em Criação e implantação de aplicativos do Adobe Flex 3. A propriedade Security.sandboxTypeUm autor de um arquivo SWF pode usar a propriedade estática somente leitura Security.sandboxType para determinar o tipo de caixa de proteção à qual o aplicativo Flash Player ou AIR atribuiu o arquivo SWF. A classe Security inclui constantes que representam valores possíveis da propriedade Security.sandboxType, da seguinte maneira:
|
![]() |