Защитить от копирования

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Защитить от копирования

Сообщение Алексей К. » 10.02.2005 (Чт) 10:56

Вобщем так: у меня разработана определенная структура каталогов (около 3000 папок) и я хочу чтоб ее нельзя было скопировать.
Назавние каждой папки соответсвует определенной группе устройств, а в этой папке хранятся различные файлы (чертежы, описания и т.д. - любых форматов) для этой группы устройств. Как можно защитить от копирования эти папки и файлы в них? Т.е. дистрибутив устанавливает на компьютер эту базу. Пользователь может смотреть эти папки, копировать- удалять-переименовывать в них файлы, но скопировать все папки к себе на винт в другое место не может. Я понимаю, что папку на винте защитить практически не возможно, есть программы типа FolderGuard - но они всегда должны быть загружены и убрав их из автозагрузки можно спокой добраться до охраняемых ими папок (или вообще в DOS`е копирнуть). Есть всяки там MS SQL Server`ы и др. - я о них почти незнаю ничего, можно ли с помощью файл серевера организовать защиту и чтоб все пользователи работали с одной базой через локалку. Пользователь через мою программу (типа файлового менеджера который будет оперировать файлами на этом сервере) будет работать с файла ми и папками - но не сможет скопировать все папки к себе на винт. А прогу через электронный ключ я защищу. Что подскажите?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.02.2005 (Чт) 11:04

MS SQL Server это не всякий файл-сервер.
Можно не изобретать велосипед и использовать Microsoft Office Live Communications Server.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 10.02.2005 (Чт) 11:17

Я же говорю что почти не имею представления о серверах. :D
Т.е. я могу с помощью него все сделать (на его базе можно разрабатывать приложения)? и никая прога на VB не нужна будеть?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.02.2005 (Чт) 11:24

Нет, это сервер для электронной документации. Причем есть возможность заблокировать возможность изменения, копирования, распечатки информации и т.п.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 10.02.2005 (Чт) 11:37

Тогда получается админ сервера сможет скопировать все, его не как не ограничишь. И сервер придется устанавливать и настаривать мне. Мне нужно чтоб был дистрибутив и пользователь сам все устанавливал согласно инструкциям по установке.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.02.2005 (Чт) 11:40

Тогда никак.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.02.2005 (Чт) 11:40

Шифруй все данные и доступ к данным реализуй только из своей программы (клиентской части).
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 10.02.2005 (Чт) 11:49

Это понятно, я так уж сделал написал типа своего total commander. Только хороший алгоритм шифрования тут не применишь - папок куча, а макс. длина пути 256, бешь шифровать одну букву пути нескольками - места не хватит . У меня простая таблица соответсвия (заместо буквы "А" например "Ц") - на уровне проводника винды не читабельно, а прога расшифровывает. Такой способ любой прогер влегкую определит и напишет дешифровщик. Может другой способ организации шифрования подскажешь?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.02.2005 (Чт) 12:46

Используй нормальные алгоритмы шифрования. Если лень, то используй CryptoAPI.
Lasciate ogni speranza, voi ch'entrate.

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 10.02.2005 (Чт) 13:52

Пользователь может смотреть эти папки, копировать- удалять-переименовывать в них файлы, но скопировать все папки к себе на винт в другое место не может.

Возможно это реализуется с помощью "виртуальных" дисков, которые используются в системах щифрования, но на VB это почти нереально.
Можно попробовать использовать что то типа архива, т.е. тоже один файл, только без интеграции в операционную систему.
Поднятый вопрос хорошая иллюстрация того, что не стоит использовать файловую систему как базу данных. "как аукнится, так и откликнется". На мой взгляд не плохое решение сделать что то типа MyBase. В нём и каталоги есть, и любые файлы можно хранить.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 15.02.2005 (Вт) 9:19

Вообщем решил поступить так:
Есть мои каталоги которые я хочу защитить:
с:\ааа\бббб\...
с:\ааа\ввв\...
с:\ааа\хххх\...
с:\ааа\ттт\...

Через FSO и рекурсию я буду перемещаться по папкам до последних вложенных, паралельно будут создаваться папки согласно моей структуре папок - но только в в цифровом эквиваленте:
с:\1\1\...
с:\1\2\...
с:\1\3\...
с:\1\4\...

Мне необходимо запомнить всю структуру папок и их имена в Access`e. Т.е. в базе корневой папке "1" будет соответсвовать имя "ааа", на дочернем уровне папке "1" - "бббб" и т.д.
Потом в базе записи в поле с именем папок я зашифрую. А в моей программе будет строиться дерево по информации из базы уже с текстовым вариантом имен папок. Таким образом на уровне проводника windows структура моих папок (цифровая) нечитабельна.
Как мне организовать базу, можно ли обойтись одной таблицей, какие поля завести и что в них запоминать??? Подскажите пожалуйста.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 158

    TopList