2012-02-15 5 views
0

Je développe un site e-learning et nous avons développé nos cours en Flash. Je veux savoir comment nous pouvons empêcher nos cours d'obtenir le téléchargement de notre site. La technologie utilisée pour développer le site Web est ASP.NET avec C#.Comment protéger Flash contre le téléchargement

+2

Simple. Ne téléchargez pas vos cours sur le site. –

+2

Cela revient à demander comment une personne pourrait voir une page Web sans la télécharger. Tout le contenu Web doit être téléchargé pour être visualisé sur l'ordinateur de l'utilisateur. – scriptocalypse

Répondre

0

En supposant que vous développez un site e-learning avec un système de connexion utilisateur, vous ne pouvez donner accès aux cours qu'aux utilisateurs authentifiés qui ont des droits sur des cours spécifiques. S'il y a une requête non authentifiée/publique pour un fichier de cours (swf, html, etc ...) alors refusez de servir ce fichier au client.

Je suis sûr qu'il ya d'autres façons d'y parvenir, mais une façon est de gérer les demandes de fichiers dans votre Global.asax, l'idée générale impliquerait d'utiliser « Begin_Request », quelque chose comme:

void Begin_Request(object sender, EventArgs e) 
{ 
    if (Request.FilePath.Contains("yourprotectedpathname")) 
    { 
     if (check session if user is not logged in or does not have access) 
      { 
       Server.Transfer("404.aspx"); 
       return; 
      } 

     } 
    } 
} 

Vous voudriez stocker ce que les utilisateurs ont droit à ce que les cours dans une base de données, bien sûr, et profiter des sessions

Comme les autres l'ont mentionné, tout ce que le client peut voir peut être téléchargé. Cette méthode limiterait simplement les clients qui ont accès à télécharger vos cours.

0

Comme d'autres l'ont mentionné, les utilisateurs doivent être en mesure de télécharger le contenu pour pouvoir le consulter. Si vos fichiers Flash sont autonomes, un utilisateur peut extraire les fichiers SWF de leur cache et les exécuter localement ou les publier sur un autre serveur pour y accéder en ligne.

Si le contenu des fichiers Flash est lu à partir d'une base de données via un script C#, les utilisateurs auraient beaucoup plus de difficulté à répliquer la structure.

Je ne recommande pas vraiment cette méthode, mais vous pouvez coder en dur les fichiers SWF à la charge seulement de votre domaine, par exemple (AS3):

var myURL:String = "http://www.mydomain.com/"; 
//Check to see if the SWF is being loaded from mydomain 
if (loaderInfo.url.slice(0, myURL.length) != myURL) { 
    //If it isn't being loaded from mydomain, remove all displayobjects from stage 
    while (numChildren > 0) { 
     removeChildAt(0); 
    } 
} 

Ce code ActionScript supprimerait tous les éléments de la scène et affichez simplement une page vierge si quelqu'un a essayé de charger le fichier SWF localement ou à partir d'un autre domaine. Je ne recommande pas cela puisque vous êtes en train de coder le domaine dans vos fichiers Flash. Si vous déplacez les fichiers vers un autre domaine, le code devra être mis à jour. Vous devez également tenir compte des variations dans l'URL (par exemple https, mydomain.com, www.mondomaine.com, etc.)

Questions connexes