.htaccess, php et .flv

WRInaute discret
Hello

dans un fichier .php j'ai un scrpit qui fait appel à un lecteur de vidéo et dont l'adresse de la vidéo (visible dans le script) est ../stream/toto.flv

je me crève les yeux depuis des heures pour permettre au script php ou au lecteur d'acceder à toto.flv, mais bloquer le trop facile lien direct.

J'ai un peu tout essayé dans le .htaccess mais je n'y comprend plus rien.

ce qu'il faudrait, il me semble, c'est autoriser l'accès au répertoire de la seule ip du serveur dédié, mais ça bloque

Code:
Order allow,deny
Allow from 91.121.xxx.xxx
Deny from all

je ne trouve pas d'autres pistes, alors si vous avez une idée je suis preneur !


Merci
 
WRInaute accro
Ce n'est pas possible. Le fichier .flv est téléchargé par le client exactement comme le player, ta page php, n'importe quelle page html ou n'importe quel autre fichier (image, js, css, etc.).

Jacques.
 
WRInaute discret
bonjour, je pense que c'est possible mais plutôt avec le module d'identification d'apache,mettre un mot de passe pour accéder au répertoire (fichiers .htaccess et .users dans le rep, voire la doc d'apache à ce sujet) et modifier le player flash pour qu'il puisse accéder au répertoire.

-http://httpd.apache.org/docs/2.0/howto/auth.html
 
WRInaute occasionnel
Bonjour, une autorisation par referer et htaccess est-elle envisageable ? Du style tous les referer vide (applications de type lecteur) ou les referer de mon domaine, afin d'exclure des referer d'autres sites qui "pomperaient"? :roll:
 
WRInaute discret
boby55 a dit:
Bonjour, une autorisation par referer et htaccess est-elle envisageable ? Du style tous les referer vide (applications de type lecteur) ou les referer de mon domaine, afin d'exclure des referer d'autres sites qui "pomperaient"? :roll:

Oui, c'est une bonne idée ça, elle vaut le coup d'être tentée
Qu'est-ce qu'il faudrait mettre dans le htaccess

(j'ai bien conscience que certain bloquent leur referer, mais ça doit être une minorité que je doit pouvoir prévenir par un message à l'écran, comme pour le javascript)
 
WRInaute impliqué
je te suggère de lire ce topic -https://www.webrankinfo.com/forum/bloquer-telechargement-une-extension-par-htaccess-meme-avec-firefox-t125088.html
 
WRInaute accro
Je ne ferais pas confiance au HTTP_REFERER, trop facile à manipuler:
Code:
wget --referer=http://example.com http://example.com/musiques/fichier.mp3
Ou via une extension Firefox.

C'est un lecteur vidéo fait maison ou autre (JW Player, FlowPlayer, ...) ?
 
WRInaute accro
En RTMP: http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/ ... -streaming

Ou alors il y a la solution by spout, au niveau de la flashVar "file", lui passer un paramètre de clé de sécurité:
Code:
<script type="text/javascript">
var so = new SWFObject('player.swf','single','700','450','9');
so.addParam("allowfullscreen","true");
so.addParam("allowscriptaccess", "always");
so.addParam("flashvars", "file=<?php urlencode('getvideo.php?key='.$securityKey);?>");
so.write('mydiv');
</script>
http://developer.longtailvideo.com/trac/wiki/Player5FlashVars
N.B.: si ça va pas en _GET, il y a toujours la possibilité du PATH_INFO voir de rewriter.

$securityKey doit pouvoir être codé et décodé, avec un algorithme que tu choisiras.
Avec un fingerprint par exemple :mrgreen:

getvideo.php:
- enverra la vidéo d'après le $_GET['key'] qui lui est passé en paramètre.
- doit décoder $_GET['key'] pour y trouver le nom du fichier vidéo à lire (crypté dans $securityKey ou une table avec clés temporaires d'une durée déterminée).
- La clé de sécurité peut aussi se baser sur un timestamp pour avoir une durée de validité.
- Il est aussi tout à fait possible d'y faire un check sur le HTTP_REFERER

Je n'ai jamais fait ça, je me suis creusé les méninges pr toi.

Bon boulot :D
 
WRInaute accro
Il faudrait déjà savoir ce que varioflux veut réellement empêcher, en fait:
- que l'utilisateur puisse récupérer l'URL du .flv pour le télécharger directement (pour en faire une copie locale)
- que d'autres sites puissent récupérer le .flv pour l'afficher sur leur site
- autre chose?

L'utilisation d'une clef peut empêcher le deuxième cas (à condition que la clef soit basée sur un timestamp bien entendu), mais pas le premier (pour toutes sortes de raisons il est généralement nécessaire de faire en sorte que la clef soit valable un certain temps, voire un temps certain, et pas juste quelques secondes).

Evidemment ça veut dire aussi qu'en cas d'utilisation d'une clef, le fichier doit être servi par un script, plutôt que comme un fichier statique (même si on peut faire une solution hybride par exemple avec un script appelé via mod_rewrite).

Jacques.
 
WRInaute discret
Pour relancer un peu le sujet, est-ce que quelqu'un peut me dire s'il arrive à télécharger (avec des moyens normaux j'entends, pas avec une panoplie de 007) les vidéos qui sont sur cette page :
-http://www.teledressage.com/technique.html

juste histoire de voir
(je ne cause pas des recopies d'écrans qui sont imparables...)

Merci
 
WRInaute accro
Euh... Il suffit de reprendre l'ensemble de ton <script> avec le <div> qui va avec et le tour est joué. Effectivement le fait d'utiliser du RTMP complique les choses pour copier la video elle-même, mais ça n'empêche pas de copier le player qui va lire la vidéo chez toi...

Jacques.
 
WRInaute accro
Euh... Afficher source, copier, coller, c'est vraiment à la portée de tout le monde. D'ailleurs je pense qu'il y a plus de chances qu'ils copient tout plutôt que de trouver juste l'URL de la vidéo elle-même...

Jacques.
 
WRInaute accro
Je n'avais pas été dans la dentelle, j'avais bêtement copié toute la page et juste ajouté un base href au début, et ça passe sans problème. Si tu ne copies qu'un bout c'est peut-être un peu plus difficile de trouver les bons bouts à copier en effet, j'ai un peu la flemme d'aller vérifier là...

Jacques.
 
Discussions similaires
Haut