PDA

Просмотр полной версии : Защитить файл


BleSSeD
28.04.2010, 20:20
Пишу я аудиоплеер для соц. сети. написал, остался вопрос о том, чтобы нельзя было просто так скачать файл. Тоесть нельзя передавать флешварсами, или там getFile.php?id=1 , потому что можна будет легко скачать звуковой файл. Как защитить его? Чтобы только аудиоплеер мог его получить?

mooncar
28.04.2010, 21:10
Все, что может получить плеер, получает браузер, а значит всегда есть возможность получить и аудиофайл.
Все, что попадает в комп, при желании возможно оставить на нем.
Уже тысячу раз все обсуждалось.

BleSSeD
28.04.2010, 22:06
Ну понятно, даже с контакта можно скачать песни. Но если это сделает програмист, напишет скрипт, то пусть так будет, я не против. Но во всяком случае нельзя будет просто пройти по урлу и скачать песню...

mikhailk
28.04.2010, 23:24
тогда двухходовка с капчей
пользователь нажимает кнопку "хочу", ему выдают капчу, он ее вводит, получает ссылку
но это тоже все иллюзии

Кстати, не знаю, на чем там у Вас файловое хранилище, но на PHP отдача файла без ссылки решается достаточно просто. Скрипт получает ID файла, проверяет аутентификацию, после чего берет файл из каталога, закрытого от доступа снаружи, и с правильным хедером выпихивает его в поток

BleSSeD
28.04.2010, 23:40
А какая может быть аутентификация? Как скрипту сделать аутентификацию ? Как ему понять плеер ли это посылает запрос или просто пользователь в урл пишет тот ід?

mikhailk
28.04.2010, 23:52
ну, если пишете плеер для "вконтакте", то там есть код, который транзитом пробрасывается через флэшку от сервера ВК до сервера приложения - auth_key. Он уникальный для каждого пользователя, поэтому так можно отделить авторизованных пользователей ВК от остальных, которые лезут из Интернета. Очевидно, аналогичные механизмы есть и в других социальных сетях.

Что касается защиты от подмены кода со стороны авторизованного пользователя - тут ничего надежного нет.

BleSSeD
29.04.2010, 00:01
нет, не для вконтакте. Просто если там пользователь такой умный, что будет скрипты писать. то пусть пишет, пусть качает. И с контакта можно скачать звуковой файл. Просто мне нужно сделать чтобы это не было просто что набрал в урле путь, пусть даже к скрипту и скачал.... Какой то пароль постом передать или что? Как это лучше сделать?

mikhailk
29.04.2010, 00:22
Все, что делает плеер, может сделать и пользователь.

Защиту от ленивых пользователей, которым лень будет декомпилировать флэш, можно сделать с помощью передачи хэша. Одна строка кода сидит в плеере (и сервер ее знает), вторая строка генерится сервером случайным образом при первом обращении плеера к серверу и передается плееру. Дальше плеер сцепляет эти две строки и вычисляет хэш по какому-нибудь алгоритму (например, md5), который пихает во все свои запросы к серверу. Сервер при получении запроса проверяет хэш и, если все в порядке, отдает файл.

Но это очень примитивно и только от совсем уж ленивых.

Bgg
29.04.2010, 00:50
Нашли что охранять... За бугром музыку боятся воровать, в России качают музыку террабайтами с торрентов, а вы дергаетесь по поводу несанкционированного скачивания файлика.

По теме: можно на сервере пилить аудио файл на куски, а в клиенте собирать. Алгоритм сборки пусть придумывает сервер для каждого файла уникальный.

BleSSeD
29.04.2010, 17:11
Ну да, мне для ленивых и надо. Понятно, что если схочет, то скачает, но во всяком случае не просто набрав урл в строке запроса....



А какую строку кода должен дать сервер? Рендомную и в сесию ее писать?

Crenth
29.04.2010, 17:29
тут была баталия на эту тему.


http://www.flasher.ru/forum/showthread.php?t=135888

BleSSeD
30.04.2010, 14:19
Спасибо, буду разбираться

Psycho Tiger
30.04.2010, 15:34
Или байткод залитых файлов шифруйте, в клиенте расшифровывайте.
Тогда обычными плеерами не откроют, прежде надо будет выломать алгоритм дешифровки и расшифровать файл. Это посложнее, чем просто найти его в кеше.

BleSSeD
30.04.2010, 15:43
Ну а если мне скриптом брать содержимое файла типа через file_get_contents или fopen .... . слать хедер и содержимое файла. то это много ресурсов жрет.... Как с этим быть?

maxlapshin
01.05.2010, 14:52
Самый простой способ резко снизить количество людей, которые могут скачать файл*—*использовать RTMP, причём RTMPE ни капельки не повышает безопасность.