6
votes

Empêcher l'accès direct aux fichiers MP3 / WAV tout en permettant à un lecteur Flash d'y accéder avec .htaccess (ou PHP)

Comment puis-je empêcher l'accès direct / télécharger sur des fichiers MP3 / WAV tout en permettant à un lecteur Flash d'y accéder avec .htaccess (ou PHP)? Je cherche une solution avec seulement des solutions partielles et non fonctionnelles à montrer à mes efforts.

La solution ci-dessous semblait être une excellente solution au début, mais il bloque également mon lecteur Flash d'accéder aux fichiers. Puis-je autoriser uniquement l'accès à des pages particulières? : xxx

La solution ci-dessous semblait excellente au début parce qu'elle n'a pas permis aux gens de voir les fichiers Dans le répertoire, mais si l'utilisateur connaît l'URL exacte du fichier de musique, ils peuvent le télécharger: xxx

maintenant, je suis tombé sur Ce message qui oblige un utilisateur à produire un nom d'utilisateur et un mot de passe Utilisation HTACCESS mais i Boîte de dialogue apparaît lorsque sur l'écran Flash Player. existe-t-il un moyen pour la page Envoyer les informations de connexion sans que l'utilisateur fait quoi que ce soit?


Si ce n'est pas une méthode sécurisée, une personne peut-elle suggérer Une méthode sécurisée et relativement simple de 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, donc, j'utiliserai PHP en tant que langage de programmation pour mettre en œuvre une solution.

P.S. Vous cherchez à bloquer les novices de téléchargement, pas de pirates / crackers / wizards Internet.


0 commentaires

4 Réponses :


0
votes

Quelqu'un sera toujours en mesure d'apparaître comme s'il s'agissait de flash et de télécharger votre musique. TamperData peut être utilisé pour voir tout le trafic que le navigateur produit (y compris Flash), et avoir la capacité de rejouer, d'intercepter et de modifier toutes les demandes. Flash est facile à décompiler, mais ce n'est probablement pas nécessaire.

La seule chose que vous puissiez faire est de soulever la barre et de prévenir la liaison directe à votre contenu. Vous pouvez le faire en utilisant PHP pour limiter l'accès au support. Mettez tout le support en dehors de la racine Web ou protéger le répertoire avec un .htaccess nier de tout . Demandez à l'application Flash d'abord envoyer une "demande à télécharger", donnez à l'application Flash un jeton à usage unique temporaire ( cryptographique nonce ). Ce jeton est ensuite utilisé dans la prochaine demande de télécharger la musique à partir d'un fichier PHP. C'est facile à tromper, mais c'est le meilleur que vous puissiez faire.


3 commentaires

Je sais que de ce que c'est sur Internet, il ne peut jamais être vraiment sécurisé, mais je cible l'utilisateur Techie typique qui pourrait voir le fichier LectureList.xml d'emplacement et le parcourir, ouvrez-le, puis sur les URL de fichier MP3 incluses. Je ne cherche pas à bloquer les pirates sur les pirates et les craquelins dans l'Ouest sauvage.


@ Julian Je parle de défendre contre les enfants, les plus simples d'attaques. Il est trivial d'intercepter le trafic et de décompiler des applications flash. Vous pouvez obtenir un serveur vraiment sécurisé, mais ce service est intrinsèquement défectueux. Ce que j'ai suggéré, ce sont les principaux fournisseurs de services de musique tels que Bleep User.


@ Julian n'utilise pas non plus de mots comme "Cracker" et "Wild West". Vous obtenez les faits d'un pirate de chapeau blanc très qualifié.



8
votes

Depuis que PHP est disponible, utilisez-le pour protéger les fichiers. Ne les avez pas dans la racine Web, mais quelque part accessible à PHP. Générez ensuite une URL à usage unique comme suit: xxx pré>

puis stockez cette valeur unique dans la session / serveur / dB et une autre page valide la chaîne unique avant de diffuser le fichier: P>

<a href="streamer.php?id=6dd4566eb245627b49f3abb7e4502dd6">Stream Me</a>


2 commentaires

-1 Uniqid () seul est un nombre aléatoire très faible et non destiné à arrêter les attaques. Plus plus que MD5 () ne rend pas la valeur plus aléatoire. Autre que cela est presque identique à mon post mais contient moins d'informations.


@Rook: J'ai enveloppé Uniqid () dans un appel MD5 () pour vous assurer que les caractères de sortie sont tous les URL sympathiques - ne pas améliorer la sécurité cryptographique. Il peut être totalement inutile. Et tandis que UNIQID () peut être faible, il est probablement «assez bon» dans ce cas pour arrêter la liaison directe. Si vous pouvez améliorer les informations / exemples fournis, veuillez l'ajouter à votre réponse et laissez-le être élu.



3
votes

Comme le souligne la rook, vous ne pouvez pas avoir les deux manières. Vous ne pouvez pas tous les deux donner et ne pas donner à vos utilisateurs l'accès à vos données. Peu importe la complexité de votre système d'authentification, les utilisateurs compétents pourront toujours le contourner car pour que le lecteur Flash fonctionne, ils doivent avoir des informations d'identification. Personnellement, je pense que la solution correcte est de reconnaître que vous ne pouvez pas empêcher un utilisateur déterminé de sauver votre contenu et de les laisser simplement. Si vous insistez pour le rendre plus difficile, quelle solution vous convient le mieux vous serez déterminé par le segment des utilisateurs que vous souhaitez être efficaces et la quantité de travail que vous êtes prêt à mettre en œuvre.

Une solution simple serait de générer une clé unique chaque fois que vous servez une page de visualiseur, puis servez le contenu via un script PHP qui le contrôle. De cette façon, l'utilisateur doit au moins charger la page de la visionneuse du contenu qu'ils souhaitent et examinent sa source d'extraire la clé au lieu de simplement mettre une URL dans la barre d'adresse de leur navigateur. Toutefois, si votre site devient populaire, quelqu'un fera probablement une mise à disposition d'un script qui le fait automatiquement. Par exemple, voir YouTube-DL , un script Python qui télécharge des vidéos YouTube.

Dans votre message, vous mentionnez le mot de passe Protection des fichiers avec Apache. Il peut être possible de disposer de l'application Flash Player Soumettre l'authentification HTTP, mais je doute que les joueurs existants soutiennent et la modifiant pour le faire nécessiteraient à la fois les sources et l'expérience avec ActionScript. Toute solution qui survivra à de telles attaques triviales telles que la lecture de la source de la page est susceptible de modifier le joueur.


1 commentaires

Mes excuses pour la redondance. Je ne recevais pas l'habituel "quelqu'un d'autre a soumis une réponse / édité de leur réponse" des notifications tout en composant cela.



-1
votes

Il existe une autre solution, essayé et bien réussi: chargez la chanson dans un

Articles qui pourrait vous intéresser :

Pourquoi est-ce que j'obtiens une erreur laravel lors de la création d'un nouveau projet?
Select2 ne s'affiche pas correctement dans le mode bootstrap
Laravel Echo n'écoute pas
La validation de la demande de formulaire ne fonctionne pas. Il charge juste la page d'accueil dans Postman