IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[.htaccess] Anti-hotlinking pour des vidéos


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par défaut [.htaccess] Anti-hotlinking pour des vidéos
    Bonjours, voici mon probleme :

    Dans mon fichier htaccess j'ai mi se code qui se fait automatique dans le cpanel avec l'hébergeur gratuit que je prend pour faire mes tests.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    # DO NOT REMOVE THIS LINE AND THE LINES BELOW HOTLINKID:soDVXf
    RewriteEngine on
    RewriteCond %
     
    {HTTP_REFERER} !^http://skymotion.comuf.com/.*$      [NC]
    RewriteCond %{HTTP_REFERER} !
     
    ^http://skymotion.comuf.com$      [NC]
    RewriteCond %{HTTP_REFERER} !
     
    ^http://www.skymotion.comuf.com/.*$      [NC]
    RewriteCond %{HTTP_REFERER} !
     
    ^http://www.skymotion.comuf.com$      [NC]
    RewriteRule .*\.(.*)$ http://skymotion.comuf.com/ 
     
    [R,NC]
    # DO NOT REMOVE THIS LINE AND THE LINES ABOVE soDVXf:HOTLINKID
    j'ai mi une video DivX (.avi) dans le fichier /00/010101.avi (7mo)

    Aprés je prend un autre hébergeur gratuit pour testé si le anti-hotlink marche bien mais je peu toujours regarder la vidéo.
    Voici le code que je prend pour le web player avec le lien que je hotlink de l'autre hébergeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <object classid="clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616" width="320" height="260" codebase="http://go.divx.com/plugin/DivXBrowserPlugin.cab">
     
      <param name="autoPlay" value="false" />
      <param name="src" value="http://skymotion.comuf.com/00/010101.avi" />
     
    <embed type="video/divx" src="http://skymotion.comuf.com/00/010101.avi" width="320" height="260" autoPlay="false"  pluginspage="http://go.divx.com/plugin/download/">
    </embed>
    </object>
    aller voir sur http://maxpower333.netii.net/
    pourquoi sa ne marche pas ?

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par défaut
    j'ai encore fait des tests avec comme code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?mondomaine.com(/)?.*$ [NC]
    RewriteRule .*\.(gif|GIF|jpg|JPG|bmp|BMP)$ - [F]
    mais sa change rien ou est le problème ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par défaut
    j'ai vue sur un autre forum que il a une autre méthode quelqu'un peu me dire si sa fonctionne pour mon problème :

    Pour vraiment se protéger (on appelle ça dans certains cas un CSRF, Cross-site request forgery), il vaut mieux utiliser un système de token, avec l'algo suivant :

    Affichage du formulaire

    * Génération d'un token unique (genre un nombre aléatoire, ou son md5, etc. N'importe quelle méthode pour générer un truc qu'on ne peut pas deviner)
    * Insertion du token quelque part, genre en base de données
    * Affichage du token dans un input hidden du formulaire


    Réception des données

    * Vérification que le token existe en base
    * Traitement des données
    * Suppression du token de la base pour qu'il ne soit plus réutilisable



    Ainsi on est obligé de demander la page formulaire pour pouvoir l'envoyer

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    Bonjour,

    Perso j'utilise ce code dans le .htaccess et qui fonctionne (a mettre en début):
    # Hotlink control
    ## liste des domaine pouvant utiliser les fichiers
    SetEnvIfNoCase Referer "^http://localhost/domaine1" local_referal
    SetEnvIfNoCase Referer "^http://localhost" local_referal
    SetEnvIfNoCase Referer "^http://www.domaine_distant1" local_referal
    SetEnvIfNoCase Referer "^http://www.domaine_distant2" local_referal
    SetEnvIfNoCase Referer "^http://www.domaine_distant3" local_referal
    ## posiible aussi pour les IP
    SetEnvIfNoCase Referer "^http://xxx.xxx.xxx.xx" local_referal
    SetEnvIfNoCase Referer "^$" local_referal
    ## liste des extension de fichier protégés
    <FilesMatch "\.(gif|jpe?g|png|jpg|swf|avi|php|html)$">
    Order Deny,Allow
    Deny From All
    Allow from env=local_referal

    </FilesMatch>
    et avant transfert sur le site distant désactiver les lignes avec localhost qui ne sont utiles qu'en local pour le développement.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par défaut
    Merci de m'aider mais après quelque jours de recherche j'ai vue que le htaccess peu rien faire pour m'aider. Je doit prendre un script php.

    Pourquoi ?
    Parce que le lecteur DivX est pas une application local il prend le lecteur DivX installer sur l'ordinateur de l'utilisateur pour fonctionner alors à chaque fois que quelqu'un regarde une vidéo il envoie une commande a mon serveur avec le lecteur DivX résulta c'est pas une commande local alors le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Order Deny,Allow
    Deny From All
    Allow from env=local_referal
    fonctionne mais bloque aussi tout le monde a regarder mes vidéos.

  6. #6
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    petite information qui ne va pas t'aider pour ton problème : l'information HTTP_REFERER peut être trafiqué, il ne faut pas lui faire confiance
    donc ça veut dire que si quelqu'un veut absolument te voler le fichier, il pourra le faire rapidement donc tu es en train de perdre beaucoup de temps pour une protection qui ne découragera pas ceux qui voudront gagner de l'argent avec tes vidéos

Discussions similaires

  1. YouTube abandonne le plugin Flash d'Adobe pour des vidéos HTML5
    Par Michael Guilloux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 44
    Dernier message: 10/02/2016, 13h58
  2. Réponses: 9
    Dernier message: 17/06/2007, 19h45
  3. I-Tune pour des vidéos
    Par Yepazix dans le forum Vidéo
    Réponses: 2
    Dernier message: 21/01/2007, 16h08
  4. [FLASH MX] Un menu dynamique pour des vidéos .flv
    Par Edoxituz dans le forum Flash
    Réponses: 10
    Dernier message: 12/02/2006, 15h46
  5. Modifier le codage des pixels pour capture vidéo
    Par supergrey dans le forum DirectX
    Réponses: 10
    Dernier message: 27/08/2005, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo