Просмотр полной версии : Защитить файл
Пишу я аудиоплеер для соц. сети. написал, остался вопрос о том, чтобы нельзя было просто так скачать файл. Тоесть нельзя передавать флешварсами, или там getFile.php?id=1 , потому что можна будет легко скачать звуковой файл. Как защитить его? Чтобы только аудиоплеер мог его получить?
Все, что может получить плеер, получает браузер, а значит всегда есть возможность получить и аудиофайл.
Все, что попадает в комп, при желании возможно оставить на нем.
Уже тысячу раз все обсуждалось.
Ну понятно, даже с контакта можно скачать песни. Но если это сделает програмист, напишет скрипт, то пусть так будет, я не против. Но во всяком случае нельзя будет просто пройти по урлу и скачать песню...
mikhailk
28.04.2010, 23:24
тогда двухходовка с капчей
пользователь нажимает кнопку "хочу", ему выдают капчу, он ее вводит, получает ссылку
но это тоже все иллюзии
Кстати, не знаю, на чем там у Вас файловое хранилище, но на PHP отдача файла без ссылки решается достаточно просто. Скрипт получает ID файла, проверяет аутентификацию, после чего берет файл из каталога, закрытого от доступа снаружи, и с правильным хедером выпихивает его в поток
А какая может быть аутентификация? Как скрипту сделать аутентификацию ? Как ему понять плеер ли это посылает запрос или просто пользователь в урл пишет тот ід?
mikhailk
28.04.2010, 23:52
ну, если пишете плеер для "вконтакте", то там есть код, который транзитом пробрасывается через флэшку от сервера ВК до сервера приложения - auth_key. Он уникальный для каждого пользователя, поэтому так можно отделить авторизованных пользователей ВК от остальных, которые лезут из Интернета. Очевидно, аналогичные механизмы есть и в других социальных сетях.
Что касается защиты от подмены кода со стороны авторизованного пользователя - тут ничего надежного нет.
нет, не для вконтакте. Просто если там пользователь такой умный, что будет скрипты писать. то пусть пишет, пусть качает. И с контакта можно скачать звуковой файл. Просто мне нужно сделать чтобы это не было просто что набрал в урле путь, пусть даже к скрипту и скачал.... Какой то пароль постом передать или что? Как это лучше сделать?
mikhailk
29.04.2010, 00:22
Все, что делает плеер, может сделать и пользователь.
Защиту от ленивых пользователей, которым лень будет декомпилировать флэш, можно сделать с помощью передачи хэша. Одна строка кода сидит в плеере (и сервер ее знает), вторая строка генерится сервером случайным образом при первом обращении плеера к серверу и передается плееру. Дальше плеер сцепляет эти две строки и вычисляет хэш по какому-нибудь алгоритму (например, md5), который пихает во все свои запросы к серверу. Сервер при получении запроса проверяет хэш и, если все в порядке, отдает файл.
Но это очень примитивно и только от совсем уж ленивых.
Нашли что охранять... За бугром музыку боятся воровать, в России качают музыку террабайтами с торрентов, а вы дергаетесь по поводу несанкционированного скачивания файлика.
По теме: можно на сервере пилить аудио файл на куски, а в клиенте собирать. Алгоритм сборки пусть придумывает сервер для каждого файла уникальный.
Ну да, мне для ленивых и надо. Понятно, что если схочет, то скачает, но во всяком случае не просто набрав урл в строке запроса....
А какую строку кода должен дать сервер? Рендомную и в сесию ее писать?
тут была баталия на эту тему.
http://www.flasher.ru/forum/showthread.php?t=135888
Спасибо, буду разбираться
Psycho Tiger
30.04.2010, 15:34
Или байткод залитых файлов шифруйте, в клиенте расшифровывайте.
Тогда обычными плеерами не откроют, прежде надо будет выломать алгоритм дешифровки и расшифровать файл. Это посложнее, чем просто найти его в кеше.
Ну а если мне скриптом брать содержимое файла типа через file_get_contents или fopen .... . слать хедер и содержимое файла. то это много ресурсов жрет.... Как с этим быть?
maxlapshin
01.05.2010, 14:52
Самый простой способ резко снизить количество людей, которые могут скачать файл*—*использовать RTMP, причём RTMPE ни капельки не повышает безопасность.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.