Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Файл эксель без возможности скопировать данные
 
Шеф поставил задачу, которую я пока и от него не очень то понял. Может кто подскажет направление мысли?
Нужен некий носитель информации (предполагается, что обычная флешка). На ней лежит некий экселевский файл (формат именно эксель). Шеф дает кому-то задание внести чтолибо в этот файл и передает сотруднику на руки флешку. Сотрудник открывает этот файл, забивает туда нужные данные, сохраняет и возвращает шефу.
Но при этом этот сотрудник должен не иметь никакой возможности сохранить у себя копию этого файла и другие данные, которые были в этом файле.
Вообще непонятно куда смотреть... Или эта хотелка не решается в формате эксель и обычной флешки?
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Но скрин ведь всегда можно сделать)
 
Предполагается, что в файле не один лист, а много и данные там регулярно пополняются. Будем считать, что зрительная память, рисунки, фотографии экрана, скрины, выходят за рамки данной задачи.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Ввод данных в файл по сети через запароленную форму. Как вариант.
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
В таком виде система будет работать только при одном условии, ваш "шеф" будет делать это сам ;)
п.с. А вообще на сколько я понимаю, подобные задачи решаются с помощью клиент-серверных приложений, когда все данные хранятся на сервере, со всеми вытекающими
 
Не думаю, что можно на 100% сделать такую защиту. Ну, например, этот файл можно открыть из другого файла и считать всю информацию себе.
 
Цитата
wowick написал: не иметь никакой возможности сохранить у себя копию этого файла
Ну можно заставить пользователя запускать макрос, перехватывающий запросы на сохранение, но как заставить файловую систему игнорировать запрос на копирование файла? :) Вставил флешку, скопировал файл, и всё.

Можно, конечно, точно так же в макросе проверять параметры физического носителя, например, вот так или при помощи FileSystemObject.SerialNumber и самоуничтожаться, если что пошло не так.
Но от взлома кода это, конечно, не защитит.
F1 творит чудеса
 
Тут главная проблема в чем: если пользователь может внести данные в файл, значит он имеет возможность так же скопировать их в другой файл Excel, на своем ПК. Следовательно хотелка шефа - утопия. Ибо человек, у которого есть права вносить изменения в файл по умолчанию имеет права на копирование...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал: если пользователь может внести данные в файл, значит он имеет возможность так же скопировать их в другой файл Excel, на своем ПК
Да, но пусть он имеет возможно вручную скопировать лишь те данные, которые он сам туда вводит, но не отчеты и ранее введенные туда данные.
1. Теоретически ведь можно заставить открывать файл с работающими макросами, иначе все данные пусть будут зашифрованы?
2. Средствами VBA екселя можно же запретить пользование буфером обмена (тупо перехватывать эти события) или это невозможно?
3. Средставми VBA екселя можно перехватывать открытие и сохранение файлов, чтобы проходило шифровка/расшифровка содержимого с проверкой привязки к конкретной флешке?
4. На флешке, как мне кажется ограничить, операционную систему на возможность копирования файла, невозможно. Может быть для этой цели использовать какие-нибудь токены или еще какую-нить хрень? Чтобы носить файл на таких носителях? Размер файла наверное будет ограничен, ну допустим 10 Мб.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Ну а кто помешает системой скопировать файл?
 
wowick,
1. Да
2. Да, но код весьма сложен, т.к. перехватывать надо не только нажатия кнопок на клаве, но и меню правой кнопки мыши, и кнопок на панели. Постоянную проверку буфера обмена можно устроить и сбрасывать его, но воображаю себе тормоза...
3. Да, писал выше
4. ... не думаю, что решение такого типа тут подойдет, но не берусь утверждать
F1 творит чудеса
 
1. Как запустить файл с включенными макросами? Но следует помнить, что любая защита при желании обходится без особых проблем. То же шифрование - чтобы работать с файлом его надо расшифровать. Значит алгоритм шифрования и дешифровки должен быть в самом файле. А это уже уязвимость, т.к. вскрыть файл всегда есть возможность(защита файлов Excel оставляет желать лучшего).
2. Можно. Только придется много разных факторов учитывать. Копировать данные можно разными способами, вплоть до программных: открытие этого файла макросом или другим кодом и копирование данных из файла(либо просто помещение в буфер обмена). При этом не происходит прямого нажатия клавиш - просто данные помещаются в буфер.
3. См.пункт 1
4. Нельзя флешкой ограничить ОС. Но можно приобрести флешку-ключ, типа тех, которые выдаются банками. Без такой флешки не работает программа. Однако привязать файл Excel к такой флешке вряд ли получится. А если и получится - учесть описанные выше пункты так же придется...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Кстати попробуйте открыть файл Excel с флешки и не закрывая файл вытащить флешку  ;)

Вариант - пользователь заполняет у себя на компе стандартный файл, а шеф уже сам импортирует его в общий.
 
А мысль насчет того, чтобы файл разместить на сервере, к которому пользователь будет подключаться путем удаленного доступа. При запуске прописать запуск именно этого файла в екселе. Отключить буфер обмена и подключение локальных дисков. Это не вариант решения?
По-крайней мере украсть этот файл себе он не сможет.
А вот для подключения к этому rdp, как раз можно использовать какой-нить токен со встроенным сертификатом.
Изменено: wowick - 17 Мар 2015 16:46:12
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
pharmaprofi написал: Вариант - пользователь заполняет у себя на компе стандартный файл, а шеф уже сам импортирует его в общий.
Да нет, там пользователь не просто добавляет пакет новых данных. Он должен работать с разными листами файла, вносить нужные изменения. А в конце работы сохранить этот файл. И отдать его шефу.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Что вы имеете в виду под сервером? - просто общая папка? Если файл открывается в excel - то и сохранить его не особо сложно.
Как экзотический вариант - аварийно завершить, а потом уже восстанавливать.

Делал подобное решение но без Excel и флешки - как веб сервис. Старался сделать максимально похожим на работу в excel
выглядит примерно так: http://pharmaprofi.ru/examples/reportdemo.htm "шеф" видит полную картину по каждому пользователю и сводную информацию.
 
Цитата
pharmaprofi написал: пользователь заполняет у себя на компе стандартный файл, а шеф уже сам импортирует его в общий.
Вообще-то я согласен с таким вариантом как наиболее подходящим, сделать пустые формы-шаблоны для каждого сотрудника, ведь каждый сотрудник вносит определенные данные, а в итоге написать макросы, которые копируют данные из заполненных шаблонов в общий файл (можно же их подвязать и к кнопкам, думаю шеф не особо напряжется если щелкнет с десяток-другой мышкой), работы конечно много (для каждого шаблона свой макрокод, который может быть обширным), но тем не менее вполне себе выполнима, и защита главного файла от посторонних глаз надежная.
 
Короче, пришли к такому варианту решения. Покупается нетбук, на нем административно закрываются все внешние порты, сетевые интерфейсы. На нем только ексель и тот самый файл. Нетбук выдается сотруднику на время работы. Больше ничего на этом компе делаться не будет.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Фотографировать/сканировать смартфоном в пдф тоже запретили?
 
Этот вариант отметается как изначально шпионский. Также можно и нетбук украсть, или жесткий диск с него снять и скопировать! Если такое будет обнаружено, то тут вопросов о шпионаже даже подниматься не будет!
Если автоматизировать бардак, то получится автоматизированный бардак.
Страницы: 1
Читают тему (гостей: 1)