Приветствую всех и благодарю вас за ваше время. Я просто хотел бы сказать, что, хотя я не noobie на php, я все еще не знаю, и у меня все еще не хватает знаний, чтобы справиться с некоторыми из этих проблем.
Моя нынешняя дилемма:
У меня есть база данных с пользовательскими песнями, в которых есть вся информация, включая местоположение указанных песен. Способ, которым я работаю, это у меня есть php-скрипт, который эхо-файл xspf playlist для флеш-плеера, чтобы читать для тех, кто просматривает песни. (лучшая часть заключается в том, что игроку все равно, что это файл php, если он получает правильный XML-формат).
Проблема в том, что любой может посмотреть на источник (например, найти, что игрок использует xspf.php? = Song_id = 10), и php-файл выводит все в виде обычного текста. Как я могу скрыть или зашифровать местоположение mp3 от пользователей, но все же уметь правильно работать с игроком?
Я также буду в будущем, чтобы пользователи могли загружать треки, но я хочу найти способ скрыть местоположение, или, может быть, если это не слишком сложно создать временный URL-адрес? Поделитесь тем, что, по вашему мнению, лучше всего решить эту проблему.
И еще раз спасибо за любые ответы!
Я ограничил доступ к файлам, связав их с php-скриптом, который проверяет, имеет ли пользователь доступ к файлу, и эхо-файл с readfile (), если пользователь имеет доступ к файлу. Затем вы можете сохранить файл в каталоге, к которому нельзя получить доступ напрямую через URL-адрес.
Возможно, плеер также не заботится о расширении файлов. Вы можете поместить mp3-записи в свой плейлист с url, как play.php? Songid = some_encoded_value.
Затем в play.php вы должны проверить, что пользователь имеет действительный сеанс. Вы также можете записывать количество раз, когда songid (если сгенерирован) может использоваться для доступа к песне – установите этот 1 или 2? Но в зависимости от поведения игрока (несколько запросов на сломанное соединение и т. Д.) Это может быть не самая безопасная идея, но должно быть в порядке.
Обратите внимание, однако, что продвинутые пользователи / разработчики, которые хотят загрузить песни, смогут, тем не менее, более или менее взломать. Решением для этого будет потоковая передача песен, закодированных в плеер, где игрок будет декодировать.
Но тогда алгоритм декодера в флеш-плеере можно расшифровать и т. Д.
Чем больше вы работаете, тем безопаснее, но абсолютная безопасность на самом деле невозможна.
Редактирование: для схемы songid естественно потребуется таблица сопоставления между фактическими файлами songid и real mp3. Отображение может быть в памяти сеанса, но предпочтительнее в базе данных. Файл play.php будет использовать функцию readfile (или аналогичную) для вывода песни на выходе. Кроме того, mp3-файлы также могут храниться в базе данных в двоичных блоках.
Я не знаю PHP, но концепция мудрая, я бы предложил следующее:
Не беспокойтесь. Рассмотрим ситуацию, когда Flash Player находится за прокси. В любом случае вы увидите все URL-адреса прокси-сервера. Чтобы убедиться в этом, используйте Fiddler (бесплатный инструмент, действует как прокси-сервер и показывает HTTP-трафик).