0
Голосовать

Защита и права

Создано:

Terrasoft CRM хорошая система. Лично мне, как разработчику клиент-серверных приложений она сильно облегчает жизнь. :lol: Но я привык к тому, что разграничение прав в созданных мною программах не так то легко обойти. К сожалению, этого я не могу пока сказать о Terrasoft CRM. Вот, к примеру, такая ситуация:

Я захожу в систему под обычным, "смертным" пользователем. Естественно, я не имею прав на, предположим, редактирование скриптов. Ан нет, имею! Как это сделать? Легко:
1. Заходим на мой сайт.
2. Из раздела проекты качаем мою програмку - WnDViewer.
3. Запускаем его, ищем скрытую кнопку "Скрипт" и делаем ее видимой.
4. Нажимаем на кнопочку и редактируем скрипт... :lol:

Прошу Вас обратить на это внимание, ведь раз обойти защиту смог я, значит сможет и кто-то другой...

Комментарии

Vyacheslav

Все гораздо веселее, на самом деле :).
Любое клиентское место Terrasoft имеет файл Settings.ini
с прописанным в нем чистым текстом паролем к БД.
Зная пароль можно слить данные с любой клиентской машины.
Не прямым стандартным дампом, придется программку написать свою,
которая, к примеру данные в нужных связках будет выбирать
с помощью SELECTов. Но тем не менее, задача имхо не такая сложная.

Таким образом, вообще о защите данных как можно говорить?

Прошу специалистов Terrasoft прокомментировать мой пост.
Может быть я в чем-то неправ?

При первоначальной установке в утилите DBAdmin.exe -> Настройка соединения пароль хранится в открытом виде – это необходимо для первоначальной установки.
В этом случае в файле Settings.ini, который находится, как правило, по адресу C:\Program Files\Terrasoft CRM 2.8, хранится информация о строке соединения (например: ConnectionString =Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Irina-test;Data Source=KOSTENKO).

Для того, чтобы данная строка была "зашифрована" и не была видна в дальнейшем, необходимо в файле Settings.ini в описании строки соединения прописать "secured" (например: ConnectionString =secured).

Тогда в утилите DBAdmin.exe -> Настройка соединения в строка соединения вместо данных будет надпись: "secured", а сами параметры соединения будут храниться в зашифрованном файле SecuredConnection.rsa.

Twister

Я не просил коментировать мой пост, думая что это само сабой разумеется... :cry: Но, все же, интересно услышать мнение разработчиков по данному поводу.

Кихтенко Андрей
Twister пишет:
Я не просил коментировать мой пост, думая что это само сабой разумеется... :cry: Но, все же, интересно услышать мнение разработчиков по данному поводу.

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

Non noceo.

Вячеслав Шибаев
Twister пишет:
Прошу Вас обратить на это внимание, ведь раз обойти защиту смог я, значит сможет и кто-то другой...

А скрипт можно сохранить при этом? Или он только для чтения доступен?