Os arquivos instalados com o aplicativo do AIR têm acesso às respectivas APIs. Por motivos de segurança, o conteúdo de outras fontes não tem acesso. Por exemplo, essa restrição impede que conteúdo de um domínio remoto (como http://example.com) leia o conteúdo de diretório da área de trabalho do usuário (ou algo pior).
Como há buracos de segurança que podem ser explorados através da chamada da função
eval()
(e APIs relacionadas), o conteúdo instalado com o aplicativo, por padrão, não pode usar esses métodos. No entanto, algumas estruturas Ajax usam a chamada da função
eval()
e APIs relacionadas.
Para estruturar adequadamente o conteúdo para trabalhar em um aplicativo do AIR, você deve considerar as regras das restrições de segurança sobre conteúdo de fontes diversas. O conteúdo de fontes diversas é colocado em classificações de segurança distintas, chamadas de caixas de proteção (consulte
Caixas de proteção de segurança
). Por padrão, o conteúdo instalado com o aplicativo está instalado em uma caixa de proteção conhecida como caixa de proteção de
aplicativo
e isso concede a ele acesso às APIs do AIR. Normalmente, a caixa de proteção do aplicativo é a mais segura, com restrições projetadas para impedir a execução de código não confiável.
O tempo de execução permite carregar o conteúdo instalado com o aplicativo em uma caixa de proteção diferente da caixa de proteção do aplicativo. O conteúdo em caixas de proteção que não são de aplicativo opera em um ambiente de segurança semelhante ao de um navegador da Web típico. Por exemplo, o código das caixas de proteção que não são de aplicativo pode usar
eval()
e métodos relacionados (mas, ao mesmo tempo, não é permitido acesso às APIs do AIR). O tempo de execução inclui maneiras de fazer com que o conteúdo em caixas de proteção distintas se comuniquem com segurança (sem expor, por exemplo, as APIs do AIR a conteúdo de não aplicativo). Para obter detalhes, consulte
Conteúdo cross-scripting em caixas de proteção de segurança distintas
.
Se você chamar um código com uso restrito em uma caixa de proteção por motivos de segurança, o tempo de execução despachará um erro JavaScript: "Violação de segurança de tempo de execução do Adobe AIR para código JavaScript na caixa de proteção de segurança do aplicativo."
Para evitar esse erro, siga as práticas de codificação descritas na próxima seção,
Como evitar erros JavaScript relacionados à segurança
.
Para obter mais informações, consulte
Segurança HTML no Adobe AIR
.