Bonjour,
je suis en train de me poser une question : Comment protéger une page vidéo ou plutôt le visionnage de la vidéo en lui même ?
Voici la situation :
Je ne veux pas que quelqu'un puisse télécharger la vidéo.
On peut le faire de deux manière typiquement :
// partez du principe que $video et canWatchVideo() existe
// $video serait un objet video de la bdd
if (canWatchVideo($video)) {
header('Content-type: video/mp4');
echo file_get_contents($video->path);
// ou directement : include $video->path;
exit();
}
Merci d'avance
Bonsoir,
tu peux essayer de faire comme fait grafikart sur le site, donc utiliser un "signer" d'url pour AWS, je ne sais pas si il existe quelque chose sous PHP (le mieux serait d'aller voir sur Packagist). Mais sur Ruby on rails il y a ça .
EDIT : J'ai trouvé ça pour PHP :
est-ce que le "signer" empêche le téléchargement sous pour autant bloquer la vidéo en lecture sur le site ?
Sinon oui j'utilise déjà aws pour mes assets en général mais ces assets ont toujours été téléchargeable en lien direct :/ @Laznet
Bah en faite apparemment ça permet de créer des liens pour protéger ton contenu.. Je suppose que ça empêche le téléchargement. Je vais laisser le reste de la communauté entrer dans les détails :D
@Laznet, dans tous les cas j'aimerai bien savoir comment faire ça en PHP car tout le monde ne peut pas / n'a pas envie des mettres ses fichiers sur amazone ou un CDN.
Surtout, j'ai envie de savoir comment ça fonctionne en interne :)
Je ne veux pas que quelqu'un puisse télécharger la vidéo.
C'est ça qui pose problème, perso j'ai abandonnée cette restriction mais avant j'utilisais Amazon Cloudfront pour streamer via rtmp:// (ça ne marchait pas sur mobile). Donc regarde de ce côté là ou revois cette condition.
@Grafikart pour le reste sinon ça te parait cohérent ? C'est ce que tu fais pour tes vidéos premium ?
Et d'ailleurs, j'avais testé de DL une de tes vidéos premium via l'url et c'était bien bloqué pourtant, enfin du moins ce que j'ai téléchargé n'était pas un fichier vidéo lisible.
@darkylmnx, tu avais testé ça quand ? Parceque j'ai changé le système il y a quelques mois.
@Grafikart il y a 4 jours quand la vidéo sur l'utf-8 était encore en premium justement, j'avais testé sur elle exprès pour voir comment tu gérais ça
Là je n'ai plus le lien car la vidéo n'est plus en premium mais, je t'assure que que lien en src de ta vidéo premium ne télécharge pas la vidéo, ça me téléchargeai un fichier illisible haha qui faisait même pas le poids initial de la vidéo.
Tu ne pourras jamais cacher l'url comme tu le souhaite à moins de passer sur un clique en post
@Mehdikacim je n'ai pas compris ta phrase, je ne parle de cacher l'url à aucun moment... Le but c'est just d'empâcher les download et comme mon screen le prouve @Grafikart a réussi lui, si tu regardes ma bars de téléchargement on voit bien que les 3 tentatives de téléchargement ont échoué.
@Grafikart ça n'a l'air d'être bloqué que sur chrome :
Chrome : DL failed
Edge : DL Passed
FF : DL Passed
sur Chrome aussi @Grafikart ? ça doit être un bug de mon chrome. En tout la solution d'amazone semble être la meilleure.
Une implémentation perso ne semble pas si compliquée, je posterai la solution quand je l'aurai fait.
Bonjour à tous,
Je déterre ce sujet car j'ai un projet très similaire et il serait dommage d'ouvrir d'en ouvrir un nouveau pour expliquer la même chose ...
@darkylmnx : comment as-tu gérer cette problématique ?
@Grafikart : es-tu toujours sur un hébergement AWS pour tes vidéos premium sans protection, ou as-tu remis une autre protection en place ?
Que pensez-vous des solutions type JWPlayer ou Brid.tv, qui proposent des pack lecteur + hébergement 'sécurisé' - à des coûts non négligeable ? (mais quand est-il en comparant à une solution AWS ?) D'autres de ce type à me conseiller peut-être ?
Merci d'avance
Florent
@byflo au final je suis parti sur vimeo pour pas me prendre la tête, et je ne fais que protéger la page via une auth.
Par contre la solution aws fonctionnent bien mais est un peu cher pour ce que j'ai à faire (cher si il y a du traffic).
La technique d'AWS est assez simple à refaire en soi, mais tu n'aura pas forcément la même rapidité.
Il me semble que ce qu'il font c'est qu'il détect si l'url est chargé depuis un certain domain et un certain content-type. En gros ils mettent ton asset (vidéo ou image) sur une url genre files.monsite.fr
Quand un req arrive sur files.monsite.fr/:id, tu vérifie le referer, si le refererer est autre chose que monsite.fr (qui est celui qui va imbriquer la balise img ou video ou audio qui fera appel à ton asset sur files.monsite.fr), c'est que quelqu'un essaye d'accèder à ton url via un autre site ou même en direct, et du coup il faut interdire les liens en direct justement en vérifiant le referer.
Autre chose serait aussi de vérifie le content, quand la req se fait via une balise img / audio / vidéo elle n'envoie pas le même content-type que quand le mec essaye d'accèder direct à l'url via le navi.
Voilà en gros :)