Создание файла, доступного только для чтения с помощью 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