Создание файла, доступного только для чтения с помощью JavaScript и / или Flash

Я немного новичок в веб-разработке, так что простите немного новичка вопрос. Кто-нибудь может дать мне несколько общих советов о том, как предотвратить загрузку файлов при отображении контента с помощью виджетов JavaScript/Flash?

Основная дилемма - сделать файлы воспроизводимыми с помощью виджетов страниц, не допуская прямой загрузки исходных файлов. Однако, поскольку JavaScript и Flash являются браузерной, а не серверной частью, я не уверен, как мне это сделать.

Запутывание имени исходного файла является еще одним вариантом, но я не уверен, что хороший способ сделать это будет. Может быть, прячется с помощью алгоритма в файлах.swf? Не уверен, насколько невосприимчив к обратной компиляции.swf, хотя.

Огромное спасибо.

2 ответа

Решение

На самом деле, вы не можете. Есть два типа загрузок; нормальный (прямой) один и тот, который через потоковое.

Я бы посоветовал вам использовать прямой, но передавая ключ авторизации вместе с ним.

Пример такого URL будет выглядеть так:

/download?file=134&auth=A34C56E4FCD3908DA
    ^         ^          ^
    |         |          '- The predefined access token
    |         '- The requested file
    '- Gateway script

Не забывайте, что вы должны хранить конфиденциальные файлы где-то за пределами корня вашего документа.

Сценарий шлюза будет выглядеть (псевдокод):

if( validate_token( get('auth') ){

    file_id = get('file');
    file_name = get_file_name( file_id );
    data = file_read_all( file_name );

}

Если вы хотите предотвратить кражу вашего исходного кода, вы ничего не можете сделать, потому что JavaScript должен быть загружен браузером. Вы можете перевести ваш критический код на какой-нибудь серверный язык и передать brwoser (или flash) только его вывод. Или попробуйте какой-нибудь серверный движок JavaScript

Другие вопросы по тегам