2009-04-26 11 views
1

J'ai une application flash que je vais mettre sur mon site sous peu. Je veux être en mesure de « verrouiller » sur le site pour éviter:Comment verrouiller une application Flash sur site?

  • Hébergement du .SWF sur un autre site (après un téléchargement illicite), et
  • empêcher l'ouverture de .SWF si inclus dans un iFrame sur un autre site

tout en permettant:

  • une liste blanche des sites à passer à travers/permis sans avoir à me définir toutes les variations d'une URL (par exemple: www.abc.com, abc .com, abc.com/game/, games.abc .com, etc.)

Il y a des applications commerciales qui coûtent des centaines de dollars pour effectuer cette tâche, mais je suis sûr qu'il peut être fait avec:

root.loaderInfo.url 

D'une certaine façon. Est-ce que quelqu'un sait comment s'y prendre? Ma plus grande préoccupation est la prévention de l'iFrame, car lorsque les sites volent en Flash, ils ne font que coller à votre propre site pour économiser les coûts de bande passante. J'utilise Flex SDK (pas l'IDE Flash) donc du code AS3 pur fera l'affaire pour moi.

Répondre

3

Ce code rendra compte de l'URL de chargement. Vous pouvez l'utiliser dans votre chargeur principal pour afficher un message non autorisé ou ne pas le charger du tout s'il ne correspond pas à vos attentes:

public static function Domain(root:Sprite):String { 
    var currentDomain:String = root.loaderInfo.url.split("/")[2]; 
    var fqdn:Array = currentDomain.split("."); 
    var rdi:int = 1; 
    var tli:int = 2; 
    if (fqdn.length == 2) { 
     rdi--; 
     tli--; 
    } 

    return fqdn[rdi] + "." + fqdn[tli]; 
} 
2

La vérification des agents de renvoi sur le serveur est une astuce fréquemment utilisée par les hôtes d'image. Cependant, le web est fondamentalement conçu pour être flexible dans ses capacités de liaison et, en tant que tel, il n'y a pas de moyen sûr de bloquer toutes les possibilités. La meilleure solution serait la nécessité pour le fichier flash de contacter un serveur d'authentification et de vérifier certaines chaînes transmises par le site d'origine.

Questions connexes