Les fichiers que vous installez avec l’application AIR ont accès aux interfaces de programmation d’AIR. Pour des raisons de sécurité, ce n’est pas le cas pour du contenu provenant d’autres sources. Par exemple, une telle restriction empêche le contenu provenant d’un domaine distant, comme http://example.com, de lire le contenu du répertoire dans l’ordinateur de bureau de l’utilisateur (ou pire encore).
Comme il est possible d’exploiter des failles de sécurité en appelant la fonction
eval()
et les interfaces de programmation qui lui sont liées, l’utilisation de ces méthodes est interdite, par défaut, au contenu installé avec l’application. Toutefois, quelques structures Ajax utilisent la fonction
eval()
et les interfaces de programmation qui lui sont liées.
Pour structurer convenablement le contenu qui va travailler dans une application AIR, il faut tenir compte des règles qui régissent les restrictions liées à la sécurité et qu’il faut appliquer à du contenu provenant de sources différentes. Un tel contenu est placé dans des classifications de sécurité distinctes appelées sandbox de sécurité (voir
Sandbox de sécurité
). Par défaut, un contenu installé avec l’application l’est dans un sandbox appelé sandbox de
l’application
. Il a alors accès aux interfaces de programmation d’AIR. Le sandbox de l’application est en règle générale le sandbox le plus sécurisé, doté de restrictions conçues pour empêcher l’exécution de code non approuvé.
Le moteur d’exécution vous permet de charger le contenu installé avec votre application dans un sandbox autre que celui de l’application. Le contenu dans des sandbox hors application s’exécute dans un environnement similaire à celui d’un navigateur Web classique. Par exemple, le code dans des sandbox hors application peut utiliser
eval()
et des méthodes apparentées. Par contre, il ne peut pas accéder aux interfaces de programmation d’AIR. Le moteur d’exécution contient des dispositifs pour permettre aux contenus de sandbox différents de communiquer entre eux en toute sécurité, sans exposer les interfaces de programmation d’AIR à un contenu hors application, par exemple. Pour plus d’informations, voir la section
Programmation croisée du contenu dans des sandbox de sécurité distincts
.
Si vous appelez du code interdit d’exécution dans un sandbox pour des raisons de sécurité, une erreur JavaScript est signalée par le message : « Violation des règles de sécurité d’Adobe AIR par du code JavaScript dans le sandbox de sécurité de l’application ».
Pour éviter cette erreur, suivez les règles de codage présentées dans la section suivante,
Contournement des erreurs JavaScript liées à la sécurité
.
Pour plus d’informations, voir
Sécurité HTML dans Adobe AIR
.