RAM-Disk в HTML - некий select-подобный список. Имеет свойство innerFile например.
innerFile - Array массив, в котором перечисленны все файлы/каталоги. Скрипт видит в следующем виде:
Код:
|
this.innerFiles = new Array
(
{
"name": "Music",
"date": "12:12:12 12/12/2012",
"attr": "folder",
"data": new Array
(
{
"name": "..",
"date": "12:12:12 12/12/2012",
"attr": /*здесь указать на каталог-родитель не получится без алгоритмической рекурсивной ссылки */,
"data": ""
},
{
"name": "conyon.mid",
"date": "12:12:12 12/12/2012",
"attr": "normal",
"data": "base64, ..."
}
)
},
{
"name": "read_me.txt",
"date": "12:12:12 12/12/2012",
"attr": "normal",
"data": "Hello! World!!!<br/>This is RAM-Disk tag!"
}
) |
и никакой реальной файловой системе ничем не угрожает. Пользователь может спокойно блуждать по мнимой файловой системе.
Уникальная возможность: Контекстным меню кликнув на нужный пункт списка можно выбрать опции "Переименовать", "Вырезать", "Вставить", "Удалить", "Копировать", "Клонировать". При этом произойдёт лишь внутренняя реорганизация всего Array. А скрипт будет оповещён лишь абстрактно - onChange...
Ещё в контекстном меню пользователь найдёт пункт "Извлечь". Это равносильно как у картинки "Сохранить как...". Открывается диалог с предложением выбрать имя сохраняемого файла и папки.
При этом скрипт оповещён о действиях пользователя не будет, или будет, но абстрактно, как onSelect или onClick...
Ещё можно взять любой файл проводника и перетащить его прямо в список файлов в окне браузера. Сразу произойдёт реорганизация Array, будет добавлена новая структура. А содержимое реального файла преобразуется в "data": "base64, ... etc"... При этом скрипт будет оповещён событием onChange.
Таким образом, новый элемент - RAM-Disk на HTML странице никак не может стать потенциальной дырой в безопасности и защите. Так-как элемент управляется браузером, а скрипту лишь остаётся анализировать Array-структуру, не имея к
реальной файловой системе никакого доступа и отношения!
Вот теперь можете высказывать свои мнения. Очень прошу, однако, вникнуть в суть хоть чуточку. А не гноить
сразу