Как предотвратить прямой доступ / скачивание в mp3 / wav-файлы, позволяя флеш-плееру получить к ним доступ с помощью .htaccess (или PHP)

Я чистил Net в течение нескольких часов, ища решение с помощью только частичных и неработающих решений, чтобы показать мои усилия.

Решение, показанное на первый взгляд, казалось большим исправлением, но также блокирует доступ моего флеш-плеера к файлам. Могу ли я разрешать доступ только с определенных страниц? :

< Files ~ ". .. ">
order allow,deny
deny from all
< /Files>

Решение, показанное на первый взгляд, казалось большим, потому что оно не позволяло людям просматривать файлы в каталоге, но если пользователь знает точный URL-адрес музыкального файла, он может загрузить его:

SetHandler application/x-httpd-php
SetHandler application/x-shockwave-flash

Теперь я столкнулся с этим сообщением, которое заставляет пользователя создавать имя пользователя и пароль с помощью htaccess, но я открываю диалоговое окно, когда на экране флеш-плеера. Есть ли способ для страницы отправить информацию для входа без участия пользователя?

Если это не безопасный метод, может ли кто-нибудь предложить безопасный и относительно прямой способ реализации этой функции ограничения? URL-адреса и примеры были бы весьма полезны

PS Это сайт WordPress, поэтому я буду использовать PHP в качестве языка программирования для реализации любого решения.

PS Хотите заблокировать новичков от загрузки, НЕ Хакеры / Крекеры / интернет-мастера.

благодаря

Поскольку PHP доступен, используйте его для защиты файлов. Не используйте их в корневой папке, но где-то, что доступно для PHP. Затем создайте одноразовый URL-адрес, например:

 <?php $unique = md5( uniqid() ); // 32 hex characters ?> 

Затем сохраните это уникальное значение в сеансе / сервере / db и попросите другую страницу проверить уникальную строку перед потоковой передачей файла:

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

Обязательно пропустите этот уникальный токен после первого использования (или, может быть, несколько раз, если вы чувствуете себя щедрым). В любом случае это не остановит уловки от захвата HTTP-потока, но это должно предотвратить случайную привязку.

Как отмечает The Rook, вы не можете иметь это в обоих направлениях. Вы не можете давать и не предоставлять своим пользователям доступ к вашим данным. Независимо от того, насколько сложна ваша схема аутентификации, компетентные пользователи всегда смогут обойти ее, потому что для того, чтобы Flash Player функционировал, они должны иметь учетные данные. Лично я считаю, что правильным решением является осознание того, что вы не можете помешать определенному пользователю сохранить ваш контент и просто позволить им. Если вы настаиваете на том, чтобы сделать это более сложным, какое решение подходит вам, будет определяться тем, какой сегмент пользователей вы хотите быть эффективными и сколько работы вы готовы внедрить.

Простое решение состоит в том, чтобы генерировать одноразовый ключ каждый раз, когда вы обслуживаете страницу просмотра, а затем обслуживаете контент через скрипт PHP, который его проверяет. Таким образом, пользователю, по крайней мере, нужно загрузить страницу просмотра для требуемого содержимого и изучить его источник, чтобы извлечь ключ, а не просто поместить URL-адрес в адресную строку своего браузера. Однако, если ваш сайт станет популярным, кто-то, вероятно, сделает доступным скрипт, который сделает это автоматически. Например, см. Youtube-dl , скрипт Python, который загружает видео на YouTube.

В вашем сообщении вы указываете пароль, защищающий файлы с помощью Apache. Возможно, приложение Flash Player отправит HTTP-аутентификацию, но я сомневаюсь, что любые существующие игроки поддерживают это и модифицируют его, чтобы требовать как источников, так и опыта работы с ActionScript. Любое решение, которое выдержит такие тривиальные атаки, как чтение источника страницы, скорее всего, потребует модификации игрока.

Кто-то всегда сможет появиться так, как будто они работают со вспышкой и смогут загрузить вашу музыку. TamperData может использоваться для просмотра всего трафика, который производит браузер (включая flash), и имеет возможность воспроизводить, перехватывать и изменять все запросы. Вспышку легко декомпилировать, но это, вероятно, не обязательно.

Единственное, что вы можете сделать, это поднять планку и предотвратить прямую связь с вашим контентом. Вы можете сделать это, используя PHP, чтобы ограничить доступ к медиа. Поместите все носители за пределы корня веб-сервера или защитите каталог с запретом .htaccess. Попросите флеш-приложение сначала отправить «запрос на загрузку», дать флеш-приложению временный токен с одним использованием ( криптографический ). Этот токен затем используется в следующем запросе для загрузки музыки из файла PHP. Это легко обмануть, но лучше всего это можно сделать.

Существует еще одно решение, которое было бы успешным и успешным. Я попытался загрузить песню в iframe. Прямой доступ к песне будет ограничен в PHP-коде.