loudoweb.fr - Sécurité des applications en local, les bacs à sable

Sécurité des applications en local, les bacs à sable



Les différents bacs à sable

Il existe différents bacs à sable (ou sandbox) pour vos applications flash. Un bac à sable est un environnement particulier dans lequel votre application s'exécute, permettant ainsi de mieux en gérer la portée ou plus simplement les droits dont elle dispose. Ces bacs à sable sont :

  • local - file accès aux fichiers seulement.
  • local - network accès à internet seulement (et par extension accès à ExternalInterface pour la communication avec le javascript).
  • local Trusted - accès aux fichiers et à internet.
  • local - application AIR - accès aux fichiers et à internet.
  • à distance (remote) - bac à sable d'un swf exécuté sur internet.
Nous constatons qu'il est donc possible d'accéder depuis un poste local à l'internet et aux fichiers à la fois, qu'avec le bac à sable particulier trusted. On s'intéressera dans cet article uniquement aux 3 premiers sandbox, puisqu'il s'agit de présenter ici les différentes méthodes permettant d'exécuter une application flash dans un environnement de test proche de celui d'internet (le sandbox remote).

Environnement de test

Par défaut, notre application fonctionnera en local avec accès internet seulement. Toute tentative d'accès aux fichiers locaux engendrera une erreur de type sandbox. Si l'on souhaite compiler notre application pour fonctionner uniquement avec les fichiers locaux, il suffit de jouer avec la variable de compilation -use-network=true|false. Un swf compilé pour utiliser l'accès aux fichiers, et exécuté en local, engendrera également une erreur de type sandbox si l'on tente d'accéder à internet. Le troisième bac à sable est destiné à imiter celui que l'on retrouve sur internet, le sandbox distant (ou remote).

Quand on développe une application pour le web, il serait contraignant de devoir toujours mettre le swf en ligne pour effectuer nos tests, c'est la raison pour laquelle un bac à sable particulier existe, le local trusted. Il permet d'imiter le bac à sable distant, celui qui est activé quand on utilise une application flash sur internet. La façon standard de l'obtenir est d'utiliser le gestionnaire de sécurité adobe où il suffit d'ajouter le dossier contenant notre projet à la liste des dossiers de confiance. Cependant, cela nécessite d'avoir internet et, il est possible qu'au cours d'une démonstration sur le poste d'un client vous n'y avez pas accès. A défaut d'avoir compilé votre application avec le paramètre -use-network à false, vous vous retrouvez donc coincé, vous n'aurez ni l'accès à l'internet ni l'accès aux fichiers durant votre présentation.

Une dernière méthode permet cependant de créer ce bac à sable. Il suffit de se rendre à C:\Users\[VotreNom]\AppData\Roaming\Macromedia\Flash Player\#Security\FlashPlayerTrust, de créer un fichier texte à l'extension .cfg et d'y écrire le chemin de votre dossier de projet (un chemin par ligne si vous en avez plusieurs). Le lecteur flash ira chercher ici toutes les applications qu'il doit exécuter en local trusted, c'est-à-dire les applications de confiance. On retrouve d'ailleurs un fichier dédié à flashdevelop. A noter également, que l'IDE de flash créé automatiquement un sandbox de type trusted quand l'on exécute ou l'on débogue.

Quelques perspectives d'avenir...

Dans un article paru récemment sur le blog d'adobe, est annoncé une refonte du gestionnaire de sécurité qui permettra hors ligne, de modifier ses paramètres de sécurité depuis nos préférences systèmes.

Laissez un commentaire:

blog comments powered by Disqus Comments