Éviter l'accès direct à mp3/wav fichiers tout en permettant à un lecteur flash pour accéder à .htaccess (ou PHP)
Comment puis-je empêcher l'accès direct/téléchargement de fichiers mp3/wav, tout en permettant à un lecteur flash pour accéder à .htaccess (ou PHP)? J'ai été à la recherche d'une solution partielle et non-fonctionnement des solutions à montrer pour mes efforts.
La solution ci-dessous semblait être d'une grande correction au premier abord, mais il bloque aussi mon flash player à partir de l'accès aux fichiers. Pourrais-je seulement permettre l'accès de certaines pages?:
< Files ~ ".*\..*"><br />
order allow,deny<br />
deny from all<br />
< /Files>
La solution ci-dessous semble très bien au premier abord car il n'a pas de permettre aux gens de voir les fichiers dans le répertoire, mais si l'utilisateur connaît l'URL exacte du fichier de musique, qu'ils peuvent le télécharger:
SetHandler application/x-httpd-php<br />
SetHandler application/x-shockwave-flash
Maintenant, je suis tombé sur ce post qui oblige l'utilisateur à produire un nom d'utilisateur et le mot de passe à l'aide de htaccess mais j'boîte de dialogue apparaît lorsque le lecteur flash de l'écran. il y a un moyen pour la page d'envoyer les informations de connexion de l'utilisateur à faire quoi que ce soit?
Si ce n'est pas une méthode sûre, quelqu'un peut-il suggérer un accès sécurisé et relativement simple de la méthode de la mise en œuvre de cette fonctionnalité de restriction? Les url et les exemples seraient grandement appréciés
P. S. C'est un site WordPress, par conséquent, je vais être à l'aide de PHP comme un langage de programmation pour mettre en œuvre toute solution.
P. S. à la Recherche de bloquer des novices de téléchargement, PAS de hackers/crackers/internet assistants.
Vous devez vous connecter pour publier un commentaire.
Depuis PHP est disponible, utilisez-la pour protéger les fichiers. N'y en a pas dans la dans la racine web, mais à un endroit accessible à PHP. Ensuite, générer un-temps-utiliser des URL de ce type:
Puis stocker cette valeur unique dans la session/serveur/base de données et avez une autre page de valider la chaîne unique préalable à la diffusion du fichier:
Assurez-vous d'expirer que le jeton unique après la première utilisation (ou peut-être après un peu de temps si vous vous sentez généreux). Il n'arrête pas de les die-hards de capturer le flux HTTP de toute façon, mais il faut éviter casual de la liaison.
Comme Le Tour des points, vous ne pouvez pas avoir les deux. Vous ne pouvez pas à la fois donner et ne pas donner à vos utilisateurs l'accès à vos données. Peu importe la complexité de votre schéma d'authentification devient, compétente, les utilisateurs seront toujours en mesure de le contourner car le Flash player pour fonctionner, ils doivent disposer d'informations d'identification. Personnellement, je pense que la bonne solution est de reconnaître que vous ne pouvez pas empêcher une déterminée à l'utilisateur d'enregistrer votre contenu et de le laisser. Si vous insistez, c'est plus difficile, quelle solution est la bonne pour vous sera déterminé par ce segment d'utilisateurs que vous voulez être efficace contre et combien le travail que vous êtes prêt à mettre en œuvre.
Une solution simple serait de générer une clé de temps chaque fois que vous servez une page du visualiseur, puis servir le contenu via un script PHP qui vérifie qu'elle. De cette façon, l'utilisateur dispose à tout le moins à charger la page du visualiseur pour le contenu qu'ils souhaitent et d'examiner sa source à extraire la clé au lieu de simplement mettre une URL dans leur barre d'adresse du navigateur. Cependant, si votre site devient populaire quelqu'un va probablement mettre à disposition un script qui le fait automatiquement. Voir, par exemple,youtube-dl, un script Python qui télécharge des vidéos de YouTube.
Dans votre post, vous mentionnez le mot de passe protéger les fichiers avec Apache. Il peut être possible d'avoir l'application Flash player soumettre l'authentification HTTP, mais je doute que tous les joueurs de soutien et de modification de l'un à faire serait d'exiger à la fois les sources et de l'expérience avec ActionScript. Une solution qui vous permettra de survivre à des attaques basiques comme la lecture de la source de la page est susceptible de nécessiter la modification du joueur.
Quelqu'un sera toujours en mesure de faire paraître comme si ils sont en cours d'exécution de flash et d'être en mesure de télécharger votre musique. TamperData peut être utilisé pour voir tout le trafic du navigateur produit (y compris flash), et ont la possibilité de rejouer, d'intercepter et de modifier toutes les demandes. Flash est facile de décomposer, mais ce n'est probablement pas nécessaire.
La seule chose que vous pouvez faire est de relever la barre et à empêcher de faire un lien direct vers votre contenu. Vous pouvez le faire en utilisant PHP, afin de restreindre l'accès aux médias. Mettre tous les médias en dehors de la racine web, ou de protéger un répertoire avec un .htaccess
deny from all
. Avoir l'application flash d'abord envoyer une demande de téléchargement", donner le flash app temporaire à usage unique jeton (cryptographiques nonce). Ce jeton est ensuite utilisée dans la requête suivante pour télécharger de la musique à partir d'un fichier PHP. C'est facile de tromper, mais c'est le meilleur que vous pouvez faire.Il y a une autre solution, a tenté et réussi: charger le morceau dans un
<iframe>
. Accès Direct à la chanson sera limité dans le code PHP.