|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 127 ![]() |
Bonjour à vous !
Je suis actuellement en train de développer une application flash qui communique avec le serveur en php (qui genere des xml). Jusque là tout va bien. Mon application flash demande au fichier php la liste des vidéos possibles puis les affiches dans un composant tree. La liste des vidéos dans le xml n'a pas l'arborescence exacte qu'il y a sur mon serveur (admettons que mes vidéos sont à /home/user/files/videos/, mon script php à une variable interne à "/home/user/files/" et flash demande le repertoire videos/ par une variable path, le xml retourné affiche url="videos/fichier.xxx") ceci afin que si une éventuelle personne arrive a récuperer la liste, elle ne puisse rien en faire. Maintenant, le soucis c'est que si je clique sur la video dans le treeview, je doit avoir l'adresse exacte sur le serveur pour que flash puisse y acceder pour la lire ! C'est LA que j'aimerai trouver une solution pour que flash demande à un fichier php l'adresse exacte, mais que si quelqu'un vient à décompiler le flash, il ne puisse pas connaitre le fichier a appeler, ou que s'il y arrive, qu'il ne puisse pas récuperer l'adresse exacte du fichier ? J'ai pensé à crypter l'url, mais dans flash il faudra la décrypter, donc la personne pourra aussi la décrypter. J'ai pensé à charger le fichier vidéo dans php (prendre le contenu, modifier le header du fichier php en video et mettre le contenu de la video dans le fichier php) => trop lourd et la vidéo est toujours récupérable Je suis bloqué là ! Auriez-vous une idée ? Merci beaucoup pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : janvier 2007 Messages : 186 ![]() |
Salut,
Pourquoi ne mets tu pas un htacces sur le répertoir contenant tes vidéos, comme ça même avec l'adresse exacte ce sera impossible de les téléchargées. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 127 ![]() |
Oué mais comment je fait apres pour lire la vidéo depuis flash ?
Flash étant sur le client, c'est comme si c'est le client qui le téléchargeait ? sauf que ca va dans flash... :/ |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : janvier 2007 Messages : 186 ![]() |
Remarque pertinante.
Je suis justement en train de faire un petit lecteur de son sur un site et ce problème de sécurité m'interresse. Si toi ou quelqu'un connait une méthode pour lire du son/vidéo avec flash en protégeant l'acces au fichier, je suis preneur. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 127 ![]() |
A mon avis (en toute logique je dirai), ce n'est pas possible.
Car flash doit avoir besoin du fichier pour lire son contenu. Hors, si flash arrive à lire le contenu, n'importe qui peux aussi, en décompilant le flash (ca, c'est mon point de vue ! :p) Maintenant, j'ai en tetes deux possibilités pour bloquer la récupération du fichier mais ca reste tres trivial, et quelqu'un avec un peu de motivation pourra toujours : crypter l'adresse du fichier dans le xml, et ensuite flash le décrypte, ca complique déjà plus que de regarder le xml et de copier le liens retourné Generer un systeme de clef entre l'appli flash et le xml, de facon a appeler le xml avec une variable genre index.php?key=24SDDFSesfD&file=mavideo.avi si la clef key est correcte, alors le fichier index.php va rechercher le fichier mavideo.avi dans le repertoire particulier. comme ca la personne qui voudra voir le xml ne pourra pas a moin de connaitre la clef. Mais là, le soucis, c'est comment fournir la clef de php à flash sans qu'elle soit récupérable dans un autre xml (sinon ca perd son interet !) Et là je pensais aux temps ! Generer une clée en y ajoutant un facteur temps, et avoir le meme algo des deux côtés. Mais là pareil, il suffit d'analyser l'algo pour pouvoir executer le meme Ou pire encore, mettre un trace () juste apres l'algo, histoire d'avoir la chaine décryptée ... Bref plein d'idées mais pas de solutions. Ya pas une solution miracle ?? !! :p |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 127 ![]() |
Bon, j'ai peut-etre une piste
malheureusement cette idée ne marche pas pour tous les appels de flash vers le serveur. A vrai dire pour le moment cette solution ne marche que pour les sendAndLoad (je n'ai pas tout essayé non plus). En fait l'idée est assez simple à mettre en place mais pas si facile que ca a penser :p Votre application flash va charger un fichier .php sur le serveur. Du côté flash, c'est tout ! Côté Php, on vérifie la provenance de l'appel du fichier par HTTP_REFERER, si cette valeur est égale à http://www.toto.com/monswf.swf (notez le .swf, meme sur une page web html), alors on affiche les valeurs (dans ce cas une suite de variable à charger) Ca marche parfaitement, tellement bien que quand vous compilez le flash depuis flash, ca ne marche pas, il faut passer par un navigateur (par contre uniquement testé sur Firefox, mais je ne pense pas que ca pause de soucis sur IE). Note : Vous devez utiliser les POST et non les GET, et envoyer une valeur futile dans ce post, sinon le referer ne sera pas remplis ! Par contre, il faut que la requete remplisse la valeur HTTP_REFERER, et pour le moment, seul sendAndLoad le fait (d'apres mes recherches), tout ce qui touche au xml, load, loadsound et consor ne remplissent pas ce champ, donc ce n'est pas possible. En XML, une autre possibilité, mais plus facilement crackable, c'est d'introduire un header dans la requete xml (monxml.addRequestHeader), qui compliquera la tache du "pirate", car il devra concevoir une application qui envoie cet header. En php, bien sur, on testera la valeur du header pour autoriser ou pas l'affichage d'un xml. Mon soucis, c'est que cela ne marche pas pour le chargement de médias tels que audio ou video. J'ai (uniquement) testé pour les sons, et il n'envoie pas l'entete HTTP_REFERER, et la classe Sound ne permet pas l'usage des addRequestHeader. Donc le travail est encore de longue haleine ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com