2012-03-08 2 views
3

У меня есть сайт для обмена музыкой и понимаю, что файлы на моем сайте не обязательно защищены, поскольку они хранятся в подпапке в public_html. Мне нужно защитить их таким образом, чтобы они все еще работали для любого в музыкальном проигрывателе, который находится на странице listen.php. Однако, если пользователь переходит непосредственно к файлу, например, http://www.pearlsquirrel.com/mp3/95d246c26a7c003cdac86ead05659b37.m4a. Я не хочу, чтобы они могли загрузить файл, чтобы защитить моих пользователей. Однако я не могу добавить код на эту страницу, потому что это mp3. Есть ли способ добавить индекс в папку, которая позволит мне добавить javascript на эту страницу? Я пробовал использовать .htaccess, но мне не повезло. Если кто-то знает, как я мог бы решить эту проблему, это было бы весьма признательно. Благодаря!Защита папки в public_html

+4

Если вы не хотите, чтобы люди обращались к файлам, которые вы или другие, размещенные в Интернете, у вас есть два простых варианта; 1: * не помещайте их в Интернет * или, 2: * помещайте их за пределы веб-корня *. –

+0

Рассмотрите возможность размещения файлов вне корневого веб-узла и демонстрации их через скрипт PHP или аналогичный, чтобы вы могли потребовать от пользователя входа в систему перед обращением к файлу. – cmbuckley

+0

+1 Для размещения файлов вне веб-корня. Затем используйте '../../ file.m4a', чтобы PHP мог обращаться к файлам. – Hope4You

ответ

1

попробовать с .htaccess в:

  • каталог запрещают объявление
  • проверить адрес urlreferrer/удаленный IP-адрес

Но если, в зависимости от способа воспроизведения файла пользователю, i f есть прямой доступ к файлу, его будет сложно защитить.

0

Вы можете переписать URL-адрес вашего музыкального файла в PHP скрипт, проверить некоторый вход через сессию и вывести музыкальный файл, только если пользователь вошел в системе.

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

Смежные вопросы