Scripting.Filesystemobject filemove, запись файла не работает из JavaScript в браузере IE (обходные пути, документ?)
Я знаю, что это огромная дыра в безопасности, чтобы использовать Scripting.Filesystemobject из javascript в браузере. Я слышал слух, что MS закрывает эту дыру в последней версии Office. Это было бы плохой новостью для корпоративного веб-приложения, над которым я работаю, которое имеет несколько важных функций, которые зависят от доступа к объекту Scripting.Filesystem, например, выписывание XML-файлов или перемещение аудиофайлов.
Я пытался, но не смог найти "трудную" документацию по этому вопросу, и хотя мой локальный dev-модуль демонстрирует такое поведение, другие машины здесь (у которых нет последней версии чего-либо, кроме IE) не демонстрируют поведение. Если кто-то может указать мне на документацию, подтверждающую это - или на обходной путь, не связанный с созданием элемента управления ActiveX - я был бы очень благодарен.
Спасибо!
3 ответа
В этой статье kb240797 обсуждаются биты уничтожения IE. В реестре вы найдете этот ключ: -
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \Microsoft\Internet Explorer\ActiveX Совместимость
Под которым вы найдете набор идентификаторов CLSID (идентификатор CLSID для FileSystemObject: {0D43FE01-F093-11CF-8940-00A0C9054228}). Если значение "Флаги совместимости" имеет бит 1024 (0x400) на (бит уничтожения), компонент activex блокируется.
Я также слышал, что MS имеет или планирует убить FileSystemObject, но я не видел этого официально, и это не так в моей нынешней системе. Однако может случиться так, что они могут внутренне заблокировать его так, что даже игра с битом уничтожения не поможет.
Я не знаю, помогает ли это, но я ничего не слышал по FileSystemObject
будучи устаревшим. Я хотел бы видеть ваши источники для этого. Следует также отметить, что последним "основным" элементом управления ActiveX, который был объявлен устаревшим из-за угрозы безопасности, был CAPICOM, но это было объявлено с выпуском Vista и окончательно удалено в Windows 7. Документация также была изменена, чтобы отразить это осуждение и предложить альтернативы заранее.
Многие (МНОГИЕ!) Сценарии оболочки полагаются на FileSystemObject
для файловых операций, поэтому мне трудно поверить, что это устарело бы без предоставления альтернативы. Если это имеет значение, FileSystemObject
все еще доступен из гаджетов Windows Desktop, которые работают на движке IE.
Вы не должны, никогда не должны получать доступ к файловой системе пользователей через браузер по законным или незаконным причинам.
Самый, самый лучший пример доступа к локальному хранилищу делается через системы, подобные Google Gears, и даже эти системы часто оспариваются пуристами веб / тонких клиентов.