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

JavaScript Discussion :

Empêcher le téléchargement d'une vidéo


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Empêcher le téléchargement d'une vidéo
    Bonsoir à tous,

    je suis en plein développement d'une plateforme ou je voudrais mettre à disposition des vidéos en lecture vidéo à la demande. j'ai quelques questions sur des spécificités que je voudrais apporter:

    1- je voudrais pouvoir empêcher le téléchargement direct des vidéos par des outils comme IDM ou encore des extensions de navigateurs (Firefox, Opera, autres ...). ce site se rapproche un peu de ce que je voudrais faire http://vube.com/. Pouvez vous me donner des conseils aussi exhaustif que vous le pourrez!

    2- je voudrais pouvoir détecter quand quelqu'un a suivi la vidéo entièrement et est arrivé au terme de celle-ci afin de pouvoir lancer une action paramétrer genre redirection vers une autre page.

    merci pour votre aide

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Qui te dit que ton client utilise un navigateur ?

    la seule chose que tu peux faire c'est vérifier les headers envoyé par le client dans sa requête pour l'url de ta vidéo
    mais rien n'empêchera jamais un client de mettre les headers de son choix.

    tu peux toujours compliquer la vie de client en mettant tout un ta de truc qui vont lui masquer l'url et les headers dans le code source de ta page et le html

    mais lorsque la requête de la vidéo sera envoyée elle le sera avec une url et des headers
    un bête bout de code Java ou C et on client pourra accéder à ton url.

    sinon il te faut faire un truc à la deezer c'est a dire encoder ton flux dans un format propriétaire et fournir à tes client un plugin ou une application permettant de décoder se flux.

    A+JYT

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Certains utilisent une autre technique, ils découpent la vidéo en plein de petits fichiers (des bouts de quelques secondes de vidéo) qui sont envoyés par paquets et recomposés côté client. C'est la même technique utilisée pour les streaming LIVE. On peut toujours récupérer la vidéo mais il n'y a pas de lien de download unique, c'est plus fastidieux à récupérer.

    Personnellement je n'ai jamais compris l'intérêt de ce genre de mesures de blocage, il y a toujours des dizaines de moyens de passer au travers. Un peu comme les DRM, à quoi ça sert de verrouiller une porte avec une grosse serrure inviolable s'il y a 36 autre portes d'entrée qui donnent sur la même pièce.
    One Web to rule them all

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Qui te dit que ton client utilise un navigateur ?

    la seule chose que tu peux faire c'est vérifier les headers envoyé par le client dans sa requête pour l'url de ta vidéo
    mais rien n'empêchera jamais un client de mettre les headers de son choix.

    tu peux toujours compliquer la vie de client en mettant tout un ta de truc qui vont lui masquer l'url et les headers dans le code source de ta page et le html

    mais lorsque la requête de la vidéo sera envoyée elle le sera avec une url et des headers
    un bête bout de code Java ou C et on client pourra accéder à ton url.

    sinon il te faut faire un truc à la deezer c'est a dire encoder ton flux dans un format propriétaire et fournir à tes client un plugin ou une application permettant de décoder se flux.

    A+JYT
    Merci Sekaijin et SylvainPv pour vos réponse, j'aurais quelques questions suite à celles-ci:

    1- Pour être honnête je n'ai pas très bien compris comment mettre en œuvre la modification des headers, aurais-tu un tuto ou une aide quelconque qui pourrait m'aider, de plus es ce que cette méthode bloquerait les solutions comme Internet dowload manager ou les plugins de firefox qui detectent et téléchargent des vidéos sur des pages web?

    2- Une méthode à la deezer mais es ce que dès que l'internaute a le plugin il ne peut pas la relire (après l'avoir téléchargé biensûr) en la lancant avec un navigateur sur lequel le plugin est installé?

    3- Avez vous une idée de comment c'est implémenter sur le site exemple que j'ai donné www.vube.com ?

    4- Connaissez vous des bibliothèques javascript qui aurait des lecteurs vidéos qui permettraient de faire ça? J'ai vu avec wappalyser que vube.com utilise Angular.js mais je sais pas si c'est lui qui permet de faire une telle protection

    Certains utilisent une autre technique, ils découpent la vidéo en plein de petits fichiers (des bouts de quelques secondes de vidéo) qui sont envoyés par paquets et recomposés côté client. C'est la même technique utilisée pour les streaming LIVE. On peut toujours récupérer la vidéo mais il n'y a pas de lien de download unique, c'est plus fastidieux à récupérer.
    5- le découpage? tu as un tuto? des outils à conseiller?

    je sais c'est beaucoup de questions et je vous remercie déjà pour votre aide mais j'ai vraiment besoin d’implémenter ça.

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Non je ne connais pas d'outils/tuto pour faire ça. En même temps, s'il existait des tutos pour mettre en place ce type de mécanismes, alors ça serait d'autant plus facile de créer l'outil inverse pour récupérer la vidéo. C'est un jeu sans fin, comme les pubs anti-adblocker ou les DRM soi-disant inviolables qui sont cassées six mois après leur introduction. Enfin, il y a aura toujours une solution incontournable pour récupérer la vidéo, c'est filmer son écran. Bref pour moi c'est peine perdue. La preuve avec Vube: https://www.google.fr/search?q=vube+downloader
    One Web to rule them all

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    De toute façon on peut toujours récupérer ce qui s'affiche à l'écran ...

    si tu ne veux pas que l'on récupère la vidéo, ne la mets pas en ligne
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre actif Avatar de zaza576
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2013
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 175
    Points : 275
    Points
    275
    Par défaut
    Hello,

    Est-ce que cela a finalement un intérêt de placer ta demande dans la catégorie "Javascript".

    Tu veux placer une interdiction au niveau de Javascript (couche présentation / métier, client-side). Un utilisateur avisé peut désactiver le javascript (soit via le browser, un plugin, ou même un adblock / blockscript ).

    Si tu veux offrir du contenu média non téléchargeable, assure toi de compter sur les couches derrière le javascript.

    Un utilisateur a accès au code javascript car il est côté client, donc il peut comprendre quasiment TOUTES TES TECHNIQUES DE BLOCAGES et les parer.
    Par contre, si tu trouves une méthode chieuse côté serveur, cela devient plus difficile. Ton appli client-side lira les données que tu lui pushes mais tu es le "seul" à connaître et piloter la manière dont tu envoies les données (une frame, chiffrée ou non, avec ou sans header, avec ou sans checksum, ...)

    Et puis, même en mettant en place cette forme de sécurité, ton service média sera tellement lourd à processer le découpage / chiffrement / process de protection de ta vidéo, qu'au final tu feras fuir tes visiteurs.
    Fais simple, soit tu laisses les gens visionner normalement, soit tu tentes de mettre "une porte blindée à une maison de paille".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function googleIsYourF*ck*ngFriend(String url, String maQuestion){
        goTo(url);
        reponse = find(maQuestion);
        if(isAcceptable(reponse)){
            clickOn(By.xpath("//button[@id='resolvedButton']"));
        }
        sendMessage("Merci");
    }
    
    googleIsYourF*ck*ingFriend("http://www.google.fr", "ma question");

Discussions similaires

  1. Forcer le téléchargement d'une vidéo
    Par terrenuit dans le forum Langage
    Réponses: 9
    Dernier message: 22/10/2014, 01h25
  2. Réponses: 1
    Dernier message: 09/09/2014, 20h11
  3. Empêcher le téléchargement d'un ficher vidéo par le navigateur
    Par Boris56 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/09/2010, 17h30
  4. [Composants][Animation] Lire une vidéo compressée
    Par femtosa dans le forum Composants VCL
    Réponses: 6
    Dernier message: 03/09/2002, 08h03

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