Accessibilité
Ressources pour les développeurs

Table des matières

Modifications de la sécurité dans Flash Player 8

Intégration de Flash Player et sécurité locale

Il est possible de développer des applications locales qui intègrent Flash Player, l'incluant à l'interface sous forme de composant. Cela ne s'applique qu'aux applications locales natives, développées en tant que programme exécutable.

Macromedia n'offre pour l'instant pas d'assistance pour ce type d'usage de Flash Player, qui n'est cependant pas interdit. Utiliser Flash Player dans votre application est risqué car vous ne pouvez pas redistribuer Flash Player avec elle et vous dépendez entièrement de la version de Flash Player installée sur les ordinateurs de vos utilisateurs. Les utilisateurs pouvant, à tout moment, effectuer une mise à jour de Flash Player, votre application est alors à la merci de changements de comportement imprévus.

En dépit de ces problèmes, Macromedia s'efforce de contribuer autant que possible au bon déroulement des applications qui intègrent Flash Player.

Le comportement de Flash Player 8 et des versions ultérieures quant à la sécurité locale dans des cas d'intégration est le suivant :

  • Lorsqu'il détecte qu'il est hébergé à l'intérieur d'un conteneur non navigateur, le contrôle ActiveX de Flash Player désactive les nouvelles règles de sécurité locales, en plaçant tous les fichiers SWF locaux dans le sandbox Approuvé local. Cela est vrai même si le contrôle ActiveX est instancié au sein d'une occurrence du contrôle ActiveX d'Internet Explorer qui, à son tour, est hébergé à l'intérieur d'un conteneur non navigateur. Notez que seule l'application du conteneur ultime importe. Ainsi, si votre contrôle ActiveX intègre celui de Flash Player qui est, à son tour, intégré dans Internet Explorer, Flash Player détecte qu'il s'exécute à l'intérieur d'un navigateur et il active la sécurité locale.
  • Les lecteurs de plug-in de Flash Player ne détectent pas si leur conteneur est, ou non, un navigateur, mais activent toujours les nouvelles règles de sécurité locales par défaut. Toutefois, si les utilisateurs (via le Gestionnaire de paramètres) ou des programmes d'installation (via les fichiers de configuration FlashPlayerTrust) approuvent le chemin d'accès d'une application exécutable qui intègre un plug-in de Flash Player, le plug-in désactive les nouvelles règles de sécurité locales lorsqu'il est intégré à l'exécutable.
  • Les lecteurs de contrôle ActiveX et de plug-in disposent d'API exportées qui permettent aux applications hôtes de choisir ou non d'appliquer les nouvelles règles de sécurité locales. Ces API doivent être appelées très tôt dans le cycle de vie de Flash Player, avant le chargement de tout contenu. Voici la liste de ces API :

    ActiveX (IDispatch APIs):
    HRESULT IShockWaveFlash::EnforceLocalSecurity() 
    HRESULT IShockWaveFlash::DisableLocalSecurity()
              
    Plugins (DLL exports):
    NPError Flash_EnforceLocalSecurity() 
    NPError Flash_DisableLocalSecurity()
              

Si vous développez une application locale qui intègre Flash Player, nous vous conseillons de définir explicitement si vous souhaitez activer ou non les règles de sécurité locales et appeler l'API appropriée. En général, si votre usage de Flash Player inclut la lecture de contenu SWF provenant de sources non contrôlées, par exemple d'Internet, il vaut mieux choisir d'activer les règles de sécurité locales. D'un autre côté, si vous ne lisez que certains fichiers SWF que vous contrôlez et fournissez avec votre application, la désactivation de la sécurité locale vous permettra d'obtenir un maximum de flexibilité.