Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2007, 15h51   #1
Invité de passage
 
Inscription : août 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 5
Points : 0
Points : 0
Par défaut Eviter qu'un autre site utilise mon animation flash

Bonjour,

J'ai un fichier SWF (dynamique) sur un serveur. Je souhaite controler l'affichage de mon animation uniquement dans les sites que je souhaité.
Pour ne pas qu'une personne puisse utilser mon animation dans ses pages juste en faisant le lien direct depuis l'appel du flash du genre :

Code :
1
2
3
4
5
6
7
<object classid="...
<param name="movie" value="http://www.monserveur.com/mon flash.swf">
...
...
...
<embed src="http://www.monserveur.com/mon flash.swf" loop="false" uality... 
</object

J'ai essayé beaucoup de chose et fait des tests mais rien de fonctionne


Merci d'avance

nico-k
nico-k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2007, 00h27   #2
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
Bonsoir,

Une premiere chose, si quelqu'un veux vraiment s'approprié ton animation flash il y arrivera.

Pour répondre a ta question, pourquoi ne pas ajouter cette ligne dans ton animation :
Code :
1
2
3
4
5
6
7
var URI:String=_root._url;
// traitement sur URI pour conserver uniquement le domaine ( utiliser substr() )
// URI="www.monserveur.com";
if(URI!="www.monserveur.com")
{
trace("Cette animation ne peut etre vue que sur : http://www.monserveur.com/mon flash.swf");
}
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 18h00   #3
Invité de passage
 
Inscription : août 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 5
Points : 0
Points : 0
merci pour la proposition avec _url, j'y avais pensé et ça ne marche pas car ça affiche l'url du serveur et je ne souhaite pas limiter le serveur mère mais les serveurs (autres domaine) qui font appel à l'animation qui est sur le serveur mère .
En gros j'ai mon animation flash swf dynamique reliée une base de données sur un serveur appelé "mon_serveur.com" et j'ai mes clients "client1.com", "client2.com" et "client3.com" qui affichent mon flash sur leurs sites en utilisant le genre de script précisé à l'ouverture de cette discussion (en gros ils appellent le swf en html via l'url direct http://www.mon_serveur.com/anim.swf).
Ce que je veux controler ce sont les URL non autorisés toto.com tata.com qui peuvent eux aussi afficher mon animation en reprenant bêtement le code html de client1.com par exemple.

voili voilou
nico-k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 10h07   #4
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 18
Points : 18
Points : 18
je n'ai pas creusé mais si tu utilises du PHP comme "intermédiaire", tu pourras controler le referal, utiliser un cookie etc...
voici les pistes de réflexion que j'explorerais :

l'idée : au lieu de pointer, dans ton html, sur le swf directement, tu pointes sur un fichier php intermédiaire, une sorte de "proxy" qui reverra le contenu du swf après controle :
Code :
<html><...><embed src="monproxy.php">
le but est d'utiliser un langage offrant plus de possibilités de controle qu'actionscript. quoi de mieux que PHP ?

le "proxy" (attention pas de saut de ligne avant ou après les balises php) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 header("content-type: application/x-shockwave-flash");
 //code de controle du demandeur de la requete, par exemple :
 // tester le contenu de $_SERVER['HTTP_REFERER']
 // ou encore utiliser un cookie (forcément lié au site)
 // attention un "setcookie" ne sera pas fait par ce "proxy",
 // mais dans un autre script (index.php...) car il ne sait envoyer que du flash
 //
 if ($autorisation) {
   fpassthru("le_bon_fichier.swf");
 } else {
   fpassthru("avertissement_au_pirate.swf");
 }
?>
bien sûr les fichiers swf doivent être stockés dans un dossier inaccessible directement par le web, seul php y aura accès.
samuel_L est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 04h46   #5
Invité de passage
 
Inscription : août 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 5
Points : 0
Points : 0
Merci Saluel pour le l'astuce via PHP, mais ça ne marche pas (sauf si je n'ai pas compris un truc) car l'internaute qui verra une fois mon animation pourra voir l'url d'accés au swf en affichant le code html de la page. C'est une animation grand public elle sera donc affichée pour tout le monde sur plusieur sites. Le but étant que d'autres sites ne puissent pas faire de lien sur le SWF sans autorisation.

Merci

nico-k
nico-k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 10h54   #6
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 18
Points : 18
Points : 18
salut,
on ne peut pas cacher l'url, ça c'est une certitude...

l'idée d'utiliser PHP comme intermédiaire, est que tu as une plus large panoplie de fonctions pour effectuer des tests autorisant ou non l'affichage du swf.

En effet, mon code si tu le prends tel quel ne fonctionnera pas, je n'ai pas mis les tests, c'était une piste de réflexion...

du coup j'ai approfondi la question, et j'ai fait un projet complet (voir le ZIP attaché)
une anim "bonne" et une "mauvaise"
un fichier proxy.php qui vérifie que la demande est bien liée au même serveur (même nom d'hote)
un fichier html qui utilise ce proxy, à placer sur différents serveurs pour tester
(modifier l'url qui pointe sur "proxy.php")
si tu mets le html sur le meme serveur que le proxy, ça marche sinon ça t'insulte.

là je pense que c'est pas mal... Bien sûr ce n'est pas infaillible :
on peut choper le flux de données en analysant le traffic, voire le cache du navigateur... mais il faut un niveau un peu plus élevé pour y parvenir.
Un ajout possible serait de mettre un controle dans le code AS de ton anim, qui vienne requeter une de TES pages PHP pour demander l'autorisation. là encore la ruse du Referer permettrait, je pense, de controler la légitimité de l'utilisation du swf...

Il ne faut pas se leurer, la protection ultime n'existe pas. Il s'agit de rendre plus difficile la manip...
Fichiers attachés
Type de fichier : zip crossflash.zip (18,8 Ko, 5 affichages)
samuel_L est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 06h03   #7
Invité de passage
 
Inscription : août 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 5
Points : 0
Points : 0
merci beaucoup samuel d'avoir pris la peine de faire un zip. Je viens de le télécharger et je vais tester ça
nico-k est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h03.


 
 
 
 
Partenaires

Hébergement Web