1с безопасный режим
1с безопасный режим
Попробовать демо
Дополнительный отчет/обработка подключается информационной базе с другим именем (уникальным идентификатором). Поэтому для формирования обращения к дополнительному отчету/обработке следует в обработчике ПриСозданииНаСервере определить полное имя подключенного отчета/обработки следующим образом:
И далее обращаться к дополнительному отчету/обработке следующим образом:
2.4. Отладка дополнительного отчета/обработки
При отладке дополнительного отчета или обработки открывайте его не через главное меню: Файл — Открыть, а через интерфейс подсистемы дополнительных отчетов и обработок БСП.
Открывайте и проверяйте обработку не c правами администратора, а с набором прав тех пользователей, которые будут использовать обработку.
3. Как использовать методы, запрещенные в безопасном режиме
3.1. Безопасный режим
Все расширения конфигурации, дополнительные отчеты/обработки выполняются в сервисе в безопасном режиме с использованием профилей безопасности.
В безопасном режиме запрещены следующие операции:
- Выполнение методов Выполнить() и Вычислить()
- Привилегированный режим
- Работа с внешними компонентами
- Работа с файловой системой, кроме временных файлов
- Работа с приложениями операционной системы
- COM-объекты (серверный код может выполняться на Linux, мы не можем гарантировать наличие COM-объектов на сервере)
- Доступ к Интернету и др.
3.2. Профили безопасности
Некоторые действия, запрещенные в безопасном режиме, могут быть разрешены с помощью профилей безопасности.
Профиль безопасности — это набор явно заданных разрешений на выполнение определенных действий, который можно назначать информационным базам, расширениям конфигурации, дополнительным отчетам и обработкам. Профили безопасности хранятся в кластере серверов «1С:Предприятия».
Профили безопасности автоматически формируются (при необходимости) для расширений конфигурации, дополнительных отчетов и обработок, загружаемых в сервис:
- для расширений конфигурации — на основании запросов разрешений на выполнение небезопасных действий, указанных при загрузке расширения в сервис, а также результатов автоматической проверки расширения конфигурации;
- для дополнительных отчетов и обработок конфигурации — на основании запросов разрешений на выполнение небезопасных действий, указанных в функции СведенияОВнешнейОбработке дополнительного отчета или обработки.
Подробнее о профилях безопасности можно прочесть в документации по «1С:Предприятию» по ссылке и в разделах Профили безопасности глав «Настройка и использование подсистем при разработке конфигурации» и «Программный интерфейс» документации Библиотеки стандартных подсистем (БСП), см. здесь и здесь.
3.3. Какие небезопасные методы можно, и какие нельзя использовать
В расширениях конфигурации, дополнительных отчетах и обработках, предназначенных для использования в сервисе 1cfresh.com, можно использовать следующие небезопасные операции:
- доступ к каталогу временных файлов (на чтение и/или на запись);
- доступ к интернет-ресурсам;
- привилегированный режим;
- доступ к внешним компонентам, входящим в состав конфигурации, для которой разработаны расширение конфигурации, дополнительный отчет или обработка.
- доступ к файловой системе (кроме доступа к каталогу временных файлов);
- доступ к COM-объектам (поскольку серверный код может выполняться на Linux, мы не можем гарантировать наличие COM-объектов на сервере);
- доступ к внешним компонентам, не входящим в состав конфигурации, для которой разработаны расширение конфигурации, дополнительный отчет или обработка;
- приложения операционной системы;
- средства криптографии на стороне сервера.
Учтите, что небезопасные операции запрещены только на сервере!
3.4. Запрос разрешений для расширений конфигурации
Если в расширении конфигурации используются операции, не разрешенные в безопасном режиме, то при загрузке версии расширения в сервис необходимо указать необходимые разрешения на выполнение небезопасных операций (подробнее см. в статье по ссылке):
Разрешения на доступ к внешним компонентам, входящим в состав конфигурации, запрашивать не надо, они будут предоставлены автоматически.
3.5. Запрос разрешений для дополнительных отчетов и обработок
При необходимости использования в дополнительном отчете или обработке операций, не разрешенных в безопасном режиме:
Запрашивайте в функции СведенияОВнешнейОбработке дополнительного отчета или обработки нужные разрешения с помощью вызовов функций:
Описания указанных выше функций см. по ссылке. Пример использования вызовов этих функций показан в обработке _ДемоЗагрузкаНоменклатурыИзПрайсЛистаПрофилиБезопасности из Демонстрационной конфигурации «Библиотека стандартных подсистем».
4. Вопросы производительности
Расширения конфигурации, дополнительные отчеты и обработки не должны вызывать деградацию производительности сервиса. Поэтому используемые запросы на встроенном языке должны быть оптимально построены и соответствовать стандартам (подробнее см. здесь и здесь). Типичные причины неоптимальной работы запросов и методы оптимизации запросов рассмотрены в статье 1С:ИТС по ссылке.
Особое внимание следует уделить оптимизации:
- соединений с виртуальными таблицами, подзапросами (они могут привести к значительному замедлению запроса);
- отборов с «ИЛИ»;
- запросов с получением данных через точку от полей составного ссылочного типа (при выполнении такого запроса будет выполняться соединение со всеми таблицами объектов, входящими в составной тип).
Частые формулировки отказа:
- Запрос построен неоптимально.
- Необходимо руководствоваться рекомендациями https://its.1c.ru/bmk/fresh/dev_suboptimal
При написании расширения конфигурации, дополнительного отчета и обработки необходимо избегать кода, выполнение которого может привести к неоправданно повышенному потреблению процессорного времени. В первую очередь это касается «пустых» циклов:
5. Универсальные обработки и расширения
Следует избегать универсальных расширений конфигурации, дополнительных обработок, особенно если они могут изменять данные пользователей. Следует создавать расширения и обработки, направленные на решение конкретных задач. Универсальные расширения и обработки опасны по следующим причинам:
- для их использования может быть необходим высокий уровень квалификации пользователей, а его гарантировать невозможно;
- пользователь может изменить реквизиты служебных объектов или объектов, которые он не собирался менять;
- возможно нарушение бизнес-логики прикладного решения.
Частые формулировки отказа:
- Мы не можем разрешить использование универсальных обработок, так как их применение предполагает высокий уровень квалификации пользователей, а гарантировать эту квалификацию невозможно.
6. Использование временных файлов
При доступе к временным файлам необходимо следовать требованиям стандартов, описанным по ссылке. В частности, неправильно писать:
- гарантируется уникальность имени временного файла;
- выполняется автоматическая очистка при рестарте рабочего процесса.
Также необходимо обеспечить удаление временных файлов после использования.
Частые формулировки отказа:
- Для получения имени временного файла необходимо использовать метод ПолучитьИмяВременногоФайла();
- Необходимо удалять временные файлы после использования.
7. Прочие вопросы
При разработке расширений конфигурации, дополнительных отчетов и обработок необходимо учитывать следующие требования.
- Длительные операции необходимо выполнять в фоновом режиме (подробнее см. по ссылке).
- Если пользовательские данные покидают сервис, то пользователь должен дать на это согласие.
Не должна нарушаться штатная логика работы прикладных решений (конфигураций). Не следует отключать штатные механизмы и проверки, например с помощью конструкций вида:
Снимаем защиту от опасных действий в 1С 8.3
С выходом платформы 8.3.9.2033 появился новый механизм «Защита от опасных действий».
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Благодаря этому новшеству 1С –ка теперь на открытие обработки (и не только) стала ругаться:
Открывается «Моя внешняя обработка» из файла «Моя_Внешняя_Обработка.epf»
Рекомендуется обращать внимание на источник, из которого получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей, или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным.
Разрешить открывать данный файл?
Так 1С решила бороться с вредоносным кодом!
Откуда будет браться этот «вредоносный код» на предприятии пока загадка )
К потенциально опасным действиям отнесли:
- Загрузка внешнего отчета, обработки или расширения конфигурации.
- Загрузка или обновление конфигурации/расширения.
- Доступ из внешнего отчета/обработки или расширения к следующим возможностям:
- Исполнение команды операционной системы.
- Управление пользователями (запись или удаление информации о пользователе информационной базы).
- Загрузка внешней компоненты.
- Вызов метода Подключить() менеджера внешних обработок (отчетов).
- Вызов метода РасширениеКонфигурации.Записать().
- Работа с COM-объектами.
Как же это «чудо» отключить?
Для этого необходимо запустить 1С Предприятие в режиме конфигуратора.
Выбрать меню «Администрирование» — «Пользователи».
В открывшемся окне наших пользователей, нужно открыть окно настройки пользователя и на закладке «Основные» убрать птичку «Защита от опасных действий»
Есть и другие способы отключить это:
Реализована возможность указать список информационных баз, при работе с которыми защита от опасных действий будет отключаться.
За данную функцию отвечает параметр DisableUnsafeActionProtection в файле conf.cfg, который позволяет отключить механизм защиты от опасных действий для всех пользователей определенных информационных баз, строки соединения которых удовлетворяют маскам указанным в параметре DisableUnsafeActionProtection.
В данном параметр можно указать несколько масок разделяемых символом «;», например:
DisableUnsafeActionProtection=test_.*;stage_.*;
Кроме этого защиту от опасных действий пользователя можно отключить программно, для чего имеются следующие параметры и свойства:
- Параметр ЗащитаОтОпасныхДействий методов Подключить() менеджеров внешних обработок (отчетов)
- Свойство ЗащитаОтОпасныхДействий объекта РасширениеКонфигурации перед вызовом метода Записать() этого объекта.
Проверка необходимости использования защиты от опасных действий выполняется в следующем порядке:
1. Если у текущего пользователя сброшен флажок «Защита от опасных действий», то защита считается отключенной.
2. Если строка соединения с информационной базой удовлетворяет одному из шаблонов, указанных в параметре DisableUnsafeActionProtection файла conf.cfg, то защита считается отключенной.
3. Если защита явным образом отключена с помощью параметра ЗащитаОтОпасныхДействий внешней обработки или отчета.
4. Если защита явным образом отключена с помощью свойства расширения ЗащитаОтОпасныхДействий.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
Выполнение обработок 1С в безопасном режиме
Многие программисты 1С пренебрегают безопасным режимом в своих дополнительных отчетах и обработках ставят «небезопасный режим». Да, так проще, не надо разбираться с ошибками при подключении, но такие обработки не могут исполняться в некоторых режимах, и вообще, не хорошо.
Почему не хорошо?
- Ну, например, могут запретить правильные (секьюрные, тру) Администраторы 1С.
- Могут не пустить в облако, типа 1cfresh. Это опять таки п1. И вот список требований. https://1cfresh.com/articles/so_addprocess_req
- Ну это просто не true )).
В данной статье я собрал (и буду дополнять, при случае) список подключаемых разрешений, которые позволяют подключать внешние обработки и отчеты в безопасном режиме. ПараметрыРегистрации.Разрешения.Добавить(…)
Немного документации
Там, собственно, главное. Но примеров нет.
Итак, еще немного — и к делу
Напомню, что в модуле внешней обработки/отчета должна располагаться экспортная функция СведенияОВнешнейОбработке, которая должна возвращать структуру с параметрами регистрации.
Если вы используете что-то «небезопасное», а именно что-то из перечня (как очень хорошо коллега расписал) следует передать в структуру в параметр «Разрешения» соответствующий XDTO объект используя следующую конструкцию
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
А «Разрешение» получается несколькими функциями модуля БСП
РаботаВБезопасномРежиме. Рассмотрим частные случаи:
Регистрация внешних компонент
Печать штрихкодов
Самая популярная компонента, используется для всех внешних печатных форм.
Склонения ФИО
Тоже может пригодиться, используется для договоров и проч., где нужны склонения
Создание COM-классов
Если в коде используется COM-объект, то его нужно зарегистрировать, используя функцию РазрешениеНаСозданиеCOMКласса модуля БСП РаботаВБезопасномРежиме. Приведу ее текст здесь, чтобы понять небольшую загвоздку
Текст функции модуля РаботаВБезопасномРежиме
В принципе, из описания ясно, что нужна строка CLSID класса COM, с которым он зарегистрирован в системе. Для этого, можно залезть через regedit на сервер, но он, насколько я понимаю, везде одинаков и приведен здесь для разных приложений.
Запуск 1С 8.3
Для запуска 1С 8.3 на 64-разрядной Windows:
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса(«V83.ComConnector», «<181E893D-73A4-4722-B61D-D604B3D67D47>», «ИмяСервера»)
Запуск Excel
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса(«Excel.Application», «<00000514-0000-0010-8000-00AA006D2EA4>», «ИмяСервера»)
ADODB
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса(«ADODB.Connection», «<00000514-0000-0010-8000-00AA006D2EA4>», «ИмяСервера»)
Прочие COM-серверы
Если у Вас сервер или приложение 32-х разрядное или другой COM-сервер, запускайте regedit и ищите свой CLSID как на скриншоте, дел на пару минут.
Разрешение на использование интернет-ресурсов
Тут все более-менее ясно. Использовал на практике.
Например, моя внешняя обработка по расписанию забирает данные с некого сайта http запросом.
Разрешение на использование каталога временных файлов
В принципе, тоже все ясно и необходимость использования возникает нередко, например, для открытия файла.
Например, при использовании: ВремФайл = ПолучитьИмяВременногоФайла(Расширение) или УдалитьФайлы(ВремФайл)
Способы загрузки Windows 10-XP в безопасном режиме
Благодаря безопасному режиму, можно произвести запуск Windows, исключив все лишние компоненты и драйвера системы. Данный режим в основном используется для восстановления полноценной функциональности компьютера после появления всевозможных сбоев и неисправностей после установки новых программ, служб или драйверов.
Неполадки в операционной системе иногда случаются и ни один пользователь от этогоне застрахован, поэтому крайне важно заранее получить должные знания о такой процедуре, как запуск Windows в безопасном режиме. Рассмотрим, как это делается на самых разных версиях Виндовс.
Безопасный режим в Windows 7/XP
Для данной системы существует два самых распространенных способа запуска в безопасном режиме. Первый вариант рассчитан на вход в процессе запуска системы, а второй – активируется уже в запущенной ОС. Причем первый вариант можно использовать даже в случае самых серьезных неисправностей Windows 7 или XP.
Способ №1
- Если ПК включен, то его следует перезагрузить, а если отключен, то – включить.
- Перед тем как компьютер или ноутбук запустится, на экране высветятся данные о версии BIOS и характеристики оборудования (но может быть чёрный экран несколько секунд). В этот самый момент следует 2-4 раза успеть нажать “F8”, с промежутком 1 секунда.
- Появится окно, в котором будут содержаться дополнительные параметры загрузки системы.
- В этих параметрах и присутствует “ Безопасный режим ”, для активации которого следует его выбрать и нажать “Enter”.
Если у вас ничего не получилось, то есть окно с дополнительными параметрами не появилось, то необходимо повторить всю процедуру заново. Возможно, вы просто не нажали «F8» в отведённый короткий промежуток времени. Или причина кроется в том, что функциональные клавиши F1-F12 переназначены с БИОСе, в этом случае следует нажимать “F8”, удерживая при этом “Fn” (клавиша имеется не на всех типах клавиатур, обычно так бывает на ноутбуках).
Способ №2
- В процессе работы ПК в обычном режиме нажимаем “Win+R” и вводим в окошко “msconfig”.
- В открывшемся окне заходим в раздел “Загрузка” и, выбрав вариант загрузки Windows (если у вас установлено несколько версий), отмечаем галочкой “Безопасный режим”.
- В заключение нужно нажать “Применить” или же ”ОК”.
- Система предложит перезагрузиться. Если согласиться с этим, то произойдет перезапуск ОС и состоится вход в требуемый режим. Следующая загрузка Windows 7 будет в нормальном («опасном» ) режиме.
Загрузка Windows 10/8.1 в безопасном режиме
Существует 3 способа. Первый полностью идентичен способу №2 для Windows 7. Рассмотрим оставшиеся два:
Способ №2
- Находим командную строку в меню « Пуск » по поиску « cmd » и запускаем от имени администратора (правой клавишей).
- Вводим команду: bcdedit /set
advancedoptions true и перезагружаем компьютер. - Когда система перезапустится, на мониторе высветится меню со списком возможных режимов работы Windows 10, одним из которых и является безопасный режим. Нажимаем на него.
Если в дальнейшем возникнет необходимость в деактивации данного режима, то следует повторить первый шаг и ввести уже другую команду:
bcdedit /deletevalue
Способ №3
- Для этого способа потребуется загрузочная флешка с Windows 10. Первым делом следует произвести загрузку с этой флешки и выбрать все необходимые параметры.
- Когда появится окошко с предложением установки ОС, нужно выбрать “ Восстановление системы ”.
- Теперь следует активировать “ Диагностику ” и запустить командную строку в подразделе “ Дополнительные параметры ”.
- Вводим: bcdedit /set
advancedoptions true и ожидаем успешного завершения операции. - Нажимаем “Продолжить”, после чего произойдет перезагрузка и появится такое же синее меню, как и в предыдущем способе.
Какой безопасный режим выбирать
Во всех версиях Виндовс можно выбрать один из трёх режимов:
- Обычный безопасный режим — выбирайте этот;
- Безопасный режим с загрузкой сетевых драйверов;
- Безопасный режим с поддержкой командной строки.
Самый «безопасный» это первый. т.е. обычный «Безопасный режим», во время запуска которого подгружается минимум служб и драйверов, необходимых для загрузки Windows. В режиме с загрузкой сетевых драйверов у вас будет работать сеть и, может быть, даже интернет. Режим с поддержкой командной строки, соответственно, предполагает рабочую командную строку и Windows PowerShell. Но, в этих двух режимах загружается больше компонентов и увеличивается риск повторения проблем, из-за которых потребовался запуск Windows в особом режиме.
Чтобы выйти из «Безопасного режима» достаточно просто перезагрузить или выключить компьютер.
Безопасный режим Windows 8 и 8.1: 5 способов войти
Безопасный режим Windows 8 и 8.1: 5 способов войти
NewsBar Windows: нон-стоп новости 24/7
Windows 10 выводит из строя Mac: Microsoft признал вину, но что дальше?
Плановая переустановка Виндовс 7 на 10: мошенники против пенсионеров
Полноэкранная реклама от Windows — раздражающая новинка, которую можно и нужно отключить
Киберкоронавирус в сети: конверты с бубонной чумой уже в сети. Вы готовы?
Не можете загрузить Windows 8 или Windows 8.1 в безопасном режиме? Вы нажимаете F8 или Shift+F8, но это ни к чему не приводит? Загрузка новой операционной системы от Microsoft стала настолько быстрой, поэтому не всегда получается прервать ее нажатиями клавиш.
Вы можете войти в безопасный режим Windows 8 или 8.1 5 разными способами, любой из них позволит Вам запустить систему на Виндовс 8-8.1 безопасно!
- Способ 1: Конфигурация системы Msconfig.exe
- Способ 2: Сочетание Shift + Restart (рекомендуем)
- Способ 3: Загрузка с Live СD
- Способ 4: Подключение флешки для восстановления
- Способ 5: Сочетания F8 или Shift + F8 (кроме UEFI BIOS и SSD)
Безопасный режим в Windows 8 и Windows 8.1 практически не отличается от такового в более ранних версиях ОС.
Операционная система по-прежнему загружает только самые основные драйвера и службы. Единственная заметная разница заключается в том, что минимальное разрешение экрана в безопасном режиме возросло с 800×600 пикселей до 1024×768 пикселей.
1. Используйте инструмент «Конфигурация системы» (Msconfig.exe)
Как и в случае с Windows 7, самый простой способ загрузки в безопасном режиме, заключается в использовании программы «Конфигурация системы», которая также известна как msconfig.exe.
Запустите его, перейдите на вкладку «Загрузка» и в параметрах загрузки активируйте опцию «Безопасный режим». Затем нажмите на кнопку «OK».
Далее вы увидите сообщение о том, что вам необходимо перезагрузить компьютер. Нажмите «Перезагрузка» или «Выйти без перезагрузки» — в зависимости от того, хотите ли вы, чтобы компьютер был перезагружен прямо сейчас или позже.
При следующем запуске Windows 8 (Windows 8.1) будет загружена в безопасном режиме.
2. Воспользуйтесь сочетанием Shift + Restart
Нажмите на кнопку питания на экране входа в Windows или в панели «Параметры» (Settings Charm). Затем нажмите и удерживайте кнопку SHIFT на клавиатуре и нажмите «Перезагрузка».
Windows предложит вам выбрать опцию. Выберете «Диагностика».
На экране «Диагностика» нажмите кнопку «Дополнительные параметры».
На экране с дополнительными опциями нажмите «Параметры загрузки».
Далее вы увидите список с несколькими параметрами, в том числе «Включить безопасный режим». Нажмите «Перезагрузить».
Когда ваш компьютер перезагрузится, на экране появится список из 9 параметров, включая три вида безопасного режима.
Нажмите на клавиатуре клавишу F4, чтобы включить безопасный режим, F5, чтобы включить безопасный режим с поддержкой сетевых драйверов и F6, чтобы включить безопасный режим с поддержкой командной строки. После этого Windows 8/Windows 8.1 будет загружена в соответствии с вашим выбором.
3. Загрузка в безопасном режиме с помощью CD/DVD для восстановления системы (только для Windows 8)
В Windows 8, но не в Windows 8.1, вы можете создать диск восстановления системы. Так вот, если у вас есть такой диск, вы можете загрузиться с него.
После загрузки с диска восстановления вам будет предложено выбрать раскладку клавиатуры. Выберете ту, которую вы хотите использовать. Затем вы увидите экран опций. Все дальнейшие шаги будут идентичны тем, которые расписаны в способе 2.
4. Загрузка в безопасном режиме с помощью USB для восстановления системы
Windows 8 и Windows 8.1 позволяют создать диск восстановления системы на USB-носителе. Подробную инструкцию можно найти по ссылке. С помощью такого диска тоже можно загрузить ОС в безопасном режиме. Для этого загрузитесь со своего USB-диска восстановления системы и следуйте инструкциям из предыдущего способа.
5. Используйте F8 или Shift + F8 (не работает, когда используется UEFI BIOS и SSD)
В случае с Windows 7 достаточно нажать на F8 перед самым началом запуска операционной системы, чтобы попасть в меню с дополнительными вариантами загрузки, откуда уже можно загрузить операционную систему в безопасном режиме.
Для Windows 8 и 8.1 некоторые сайты советуют использовать сочетание клавиш Shift + F8, которым запускается режим восстановления, позволяющий загрузиться в безопасном режиме. Однако проблема в том, что ни Shift + F8, ни просто F8 часто не работают.
В сообщении на своем официальном блоге Microsoft объясняет, что такое поведение связано с очень быстрым процессом загрузки. Стив Синофски как-то сказал: «В Windows 8 есть проблема. Она загружается слишком быстро, так быстро, что фактически у вас просто не остается времени на то, чтобы прервать ее загрузку при включении ПК. Операционная система просто не успевает обнаружить нажатие клавиш F2 или F8.»
В общем, если у вас современный компьютер с UEFI BIOS и SSD, вряд ли у вас получится прервать процесс загрузки нажатиями клавиш. На старых ПК с классическим BIOS и без SSD-накопителя, нажатие этих клавиш по-прежнему работает.