web-dev-qa-db-fra.com

Offre des fichiers MP3 sur WordPress pour l'écoute uniquement (empêcher le téléchargement)

J'ai un blog WordPress sur lequel j'aimerais partager de gros fichiers audio avec mes visiteurs. Mais je veux empêcher, ou du moins décourager, mes utilisateurs de télécharger directement les fichiers MP3.

J'ai vu de nombreux plug-ins qui ont la possibilité d'afficher l'audio comme une sorte de streaming, mais malheureusement, vous verrez toujours le lien direct vers les fichiers MP3 lorsque vous consultez le code HTML.
La meilleure solution que j’ai trouvée jusqu’à présent est d’intégrer le Yagosta Flash Player.

Je me demande s’il est quand même possible d’obtenir le même résultat en HTML5? Je préfère ne pas utiliser de lecteur Flash car de nombreux périphériques ne prennent pas en charge Flash.

2
user1073075

Pour utiliser les fonctionnalités HTML5 pour lire un fichier MP3, le navigateur aurait besoin de connaître l'URL du fichier MP3 et, par conséquent, il devrait être inclus dans le code source. Cependant, certaines astuces peuvent rendre plus difficile la recherche de l'URL, telles que:

masquer l'URL à l'aide de substituts de code de caractère HTML

Par exemple: http: // deviendrait http://

<?php
function HtmlObfuscation( $sText ) {
  $sObfuscated = '';
  for( $i = 0; $i < strlen( $sText ); $i++ ) {
    $sObfuscated .= '&#' . ord( $sText[$i] ) . ';';
  }
}

Insertion de l'URL après le chargement de la page à l'aide de Javascript

Le fichier HTML contiendrait:

<audio controls id="mp3-player"></audio>
<script type="text/javascript" src="mp3-player.js"></script>

puis le fichier javascript mp3-player.js pourrait contenir:

oMp3Player = document.getElementById('mp3-player');
oAudioSource = document.createElement('source');
oAudioSource.href = 'http://www.example.com/audio/protected-asset.mp3';
oAudioSource.setAttribute('href', 'http://www.example.com/audio/protected-asset.mp3');
oMp3Player.appendChild(oAudioSource);

ou peut-être une version obfusquée de la même chose (créée à l'aide d'un outil en ligne ):

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('a=2.d(\'1-c\');0=2.h(\'g\');0.6=\'4://3.7.5/8/b-9.1\';0.f(\'6\',\'4://3.7.5/8/b-9.1\');a.e(0);',18,18,'oAudioSource|mp3|document|www|http|com|href|example|audio|asset|oMp3Player|protected|player|getElementById|appendChild|setAttribute|source|createElement'.split('|'),0,{}))

Flux lent

Limitez la vitesse de transmission du flux de données à la vitesse d'écoute afin qu'il ne soit pas possible de télécharger un fichier MP3 plus rapidement qu'il ne le faudrait pour l'écouter.

Exemples: http://priteshgupta.com/2011/07/limit-file-download-speed-using-php/https://stackoverflow.com/questions/4002106/limit -download-speed-using-php


Quelles que soient les astuces que vous utilisiez pour le cacher dans le code source, le navigateur le révélera souvent dans un format très lisible si les outils de développement sont activés et si l'onglet Réseau sélectionné. Tous les principaux navigateurs ont ces fonctionnalités intégrées de nos jours en appuyant simplement sur F12.

De plus, malheureusement, si vous utilisez HTML5 pour incorporer le lien audio MP3, vous constaterez que le problème est similaire à celui du lecteur flash. Toutes les versions de tous les navigateurs Web ne le prendront en charge pour le moment, en partie à cause du fait que HTML5 est toujours en cours de développement et n’est pas officiellement publié. une dernière norme pour le moment. Vous devrez donc peut-être utiliser une combinaison de solutions avec un code logique pour vous assurer de disposer d'une version compatible avec au moins les versions de navigateur les plus utilisées (vérifiez les analyses de votre site Web pour voir celles utilisées par vos utilisateurs).

En réalité, si les fichiers audio peuvent être lus, ils peuvent être téléchargés. Frustrant je sais mais c'est juste la réalité. Pour l'audio, la meilleure protection contre la copie consiste peut-être à ne fournir qu'un exemple de clip plutôt que la totalité de l'audio, ou si vous souhaitez simplement que des personnes visitent votre site Web, vous feriez peut-être mieux d'inclure simplement une annonce au début et à la fin du texte. audio pour présenter votre site Web avec un slogan par exemple.

3
richhallstoke