Как указывает The Rook, вы не можете иметь это в обоих направлениях. Вы не можете одновременно предоставлять и не предоставлять своим пользователям доступ к вашим данным. Независимо от сложности вашей схемы аутентификации, компетентные пользователи всегда смогут ее обойти, потому что для работы Flash Player у них должны быть учетные данные. Лично я считаю, что правильное решение - признать, что вы не можете помешать определенному пользователю сохранить ваш контент, и просто позволить ему. Если вы настаиваете на том, чтобы сделать его более сложным, то какое решение вам подходит, будет зависеть от того, с каким сегментом пользователей вы хотите быть эффективными, и сколько работы вы готовы потратить на реализацию.
Простым решением было бы генерировать одноразовый ключ каждый раз, когда вы обслуживаете страницу просмотра, а затем обслуживать контент через PHP-скрипт, который его проверяет. Таким образом, пользователь, по крайней мере, должен загрузить страницу просмотра для содержимого, которое он хочет, и изучить его источник, чтобы извлечь ключ, а не просто поместить URL-адрес в адресную строку своего браузера. Однако, если ваш сайт станет популярным, кто-то, вероятно, сделает доступным скрипт, который делает это автоматически. Например, см. youtube-dl , скрипт Python, который загружает видео с YouTube.
В своем посте вы упоминаете пароль, защищающий файлы с помощью Apache. Возможно, приложение Flash Player может отправить HTTP-аутентификацию, но я сомневаюсь, что любые существующие плееры поддерживают ее, и для ее модификации потребуются как источники, так и опыт работы с ActionScript. Любое решение, которое выдержит такие тривиальные атаки, как чтение исходного кода, может потребовать модификации проигрывателя.