Verhindern den direkten Zugriff auf Ihre mp3/wav-Dateien, während es einen flash player für den Zugriff auf Sie mit .htaccess (oder PHP)
Wie verhindere ich den direkten Zugriff/download mp3/wav-Dateien, während es einen flash player für den Zugriff auf Sie mit .htaccess (oder PHP)? Ich habe auf der Suche für eine Lösung mit nur partiellen und nicht-funktionierende Lösungen zu zeigen, für meine Bemühungen.
Die Lösung unten schien wie ein großes Update auf den ersten, aber es blockiert auch mein flash player auf die Dateien zugreifen. Könnte ich erlauben nur den Zugriff von bestimmten Seiten?:
< Files ~ ".*\..*"><br />
order allow,deny<br />
deny from all<br />
< /Files>
Die folgende Lösung schien auf den ersten, weil er einfach nicht zulassen, dass die Menschen, um die Dateien in dem Verzeichnis, aber wenn der Benutzer kennt die genaue URL der Musik-Datei, können Sie es herunterladen:
SetHandler application/x-httpd-php<br />
SetHandler application/x-shockwave-flash
Nun, ich kam in dieser Beitrag, dass die Kräfte, die ein Benutzer zu erzeugen, einen Benutzernamen und ein Passwort mit htaccess aber ich Dialogfeld erscheint, wenn Sie auf die flash-player-Bildschirm auf. gibt es eine Möglichkeit für die Seite senden die login-info, ohne das der Benutzer etwas zu tun?
Wenn dies ist nicht eine sichere Methode, kann jemand empfehlen, eine sichere und relativ straight-forward Methode der Umsetzung dieser Beschränkung-Funktion? URLs und Beispiele würde sehr geschätzt werden
P. S. Dies ist eine WordPress-Website, daher werde ich mit PHP als Programmiersprache für die Implementierung einer beliebigen Lösung.
P. S. auf der Suche zu blockieren Anfänger herunterladen, NICHT Hacker/Cracker/internet-Assistenten.
InformationsquelleAutor Julian | 2010-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit PHP verfügbar ist, verwenden Sie es zum Schutz der Dateien. Haben Sie nicht in Ihnen in dem web-root, aber das ist irgendwo für PHP verfügbar. Generieren Sie dann eine ein-Zeit-verwenden Sie URL wie:
Dann speichern, eindeutigen Wert in der session/server - /db-und eine weitere Seite zu validieren, die eindeutige Zeichenfolge vor, um die streaming-Datei:
Sicher sein, zu verfallen, einzigartige token nach dem ersten Gebrauch (oder vielleicht nach ein paar mal, wenn Sie das Gefühl großzügig). Es wird nicht aufhören, das sterben-hards von der Erfassung der HTTP-stream sowieso, aber es sollte verhindern, dass casual verknüpfen.
Ich wickelte uniqid() in einen md5 () - Aufruf, um sicherzustellen, die Ausgabe-Zeichen sind alle URL-freundlich - nicht zur Verbesserung der kryptographischen Sicherheit. Es kann sein, völlig unnötig. Und während uniqid() kann zu schwach sein, ist es wahrscheinlich "gut genug" in diesem Fall stoppen die direkte Verlinkung. Wenn Sie verbessern können, auf der Informationen/Beispiele bitte fügen Sie Ihrer Antwort und lassen Sie es aufstehen-gestimmt.
InformationsquelleAutor Goyuix
Als Der Turm weist darauf hin, Sie können es nicht haben beide weisen. Sie können nicht geben und nicht geben Ihren Benutzern den Zugriff auf Ihre Daten. Egal, wie Komplex Ihre Authentifizierungsschema wird, die zuständigen Benutzer immer in der Lage, diese zu umgehen, weil damit der Flash player-Funktion, müssen Sie in den Anmeldeinformationen. Ich persönlich denke die richtige Lösung ist, um zu erkennen, dass Sie können nicht verhindern, dass ein entschlossener Benutzer speichern Ihre Inhalte und lassen Sie Sie einfach. Wenn Sie darauf bestehen, auf was es schwieriger macht, welche Lösung für Sie die richtige ist, wird bestimmt durch das, was segment der Benutzer, die Sie wollen, um wirksam zu sein gegen und wie viel Arbeit Sie bereit sind, in die Umsetzung.
Eine einfache Lösung wäre die Generierung eines one-time-Taste jedes mal, wenn Sie servieren ein viewer-Seite und dann dazu dienen, die Inhalte durch ein PHP-Skript, das überprüft, es. So der user hat zumindest laden die viewer-Seite für die Inhalte, die Sie möchten, und untersuchen Sie den source zu entpacken Sie die Taste, anstatt nur darum, eine URL in der Adresszeile Ihres Browsers. Allerdings, wenn Ihre Website wird auf allen gängigen, jemand wird wahrscheinlich zur Verfügung stellen, ein Skript, das macht das automatisch. Zum Beispiel, sehen Sie youtube-dl, ein Python-Skript, das downloads videos von YouTube.
In Ihrem Beitrag, den Sie erwähnen, Kennwort schützen die Dateien mit dem Apache. Es kann möglich sein, haben Sie die Flash player-Anwendung senden HTTP-Authentifizierung, aber ich bezweifle, dass jeder vorhandene Spieler zu unterstützen, und ändern, um so zu tun erfordern würde, die Quellen und die Erfahrung mit ActionScript. Jede Lösung, die überleben werden diese triviale Angriffe, wie das Lesen der Seite Quelle, die wahrscheinlich erfordern das ändern der Spieler.
InformationsquelleAutor Sam Hanes
Jemand wird immer in der Lage sein zu erscheinen, als ob Sie mit flash und in der Lage sein, um Ihre Musik downloaden. TamperData kann verwendet werden, um alle Zugriffe der browser erzeugt (einschließlich flash), und haben die Fähigkeit, zu wiederholen, abfangen und ändern alle Anforderungen. Flash ist einfach zu dekompilieren, aber dies ist wahrscheinlich nicht notwendig.
Die einzige Sache, die Sie tun können, ist, die Messlatte höher zu legen und um zu verhindern, dass die direkte Verlinkung auf Ihre Inhalte. Sie können dies tun, durch den Einsatz von PHP zu beschränken, den Zugang zu den Medien. Alle Medien, die außerhalb des web-root, oder schützen Sie das Verzeichnis mit einer .htaccess
deny from all
. Die flash-Anwendung senden Sie zuerst einen "Antrag herunterladen", geben Sie dem flash-app einen temporären single-use-token (kryptografische nonce). Dieses token wird dann bei der nächsten Anfrage zum download von Musik aus einer PHP-Datei. Dies ist leicht zu täuschen, aber es ist die beste, die Sie tun können.Ich Rede über die Verteidigung gegen Kinder, die am meisten einfache Angriffe. Es ist trivial, um den Netzwerkverkehr überwachen und zu dekompilieren flash-Anwendungen. Sie erhalten einen wirklich sicheren server, aber dieser service ist inhärent fehlerhaft. Was ich vorgeschlagen habe ist, was die großen Anbieter von Musik-Anbietern wie bleep verwenden.
auch benutzen Sie nicht Worte wie "cracker" und "wild west". Sie werden immer die Fakten von einem sehr erfahrenen white hat hacker.
InformationsquelleAutor rook
Gibt es eine andere Lösung versucht und das durchaus erfolgreich: laden Sie einen song in ein
<iframe>
. Direkten Zugriff auf die Songs beschränkt, die in den PHP-code.InformationsquelleAutor pius