Доброго времени суток всем! Ребята, помогите, пожалуйста, воплотить в жизнь следующую идею. Предположим имеется некое подобие защиты файла от несанкционированного использования. При первом открытии файла пользователю предлагается ввести данные в UserForm. В строку "Пользователь" вносятся данные о пользователе (например Ф.И.О.), идентификатор автоматически генерируется и выводится в строке, а правильно введенный регистрационный, полученный с помощью генератора паролей, позволяет нам использовать файл энный период времени. Как сделать, чтобы после нажатия кнопки "Зарегистрировать" (при условии, что все данные введены, т. е. все строки заполнены, а регистрационный код соответствует соответствует своему идентификатору): а) в какой-нибудь папке C:\Temp создавался тестовый документ, например под названием "Пользователь", а внутри файла была прописана информация о пользователе (та, что указана при регистрации); б) после завершения периода использования файла снова появлялось бы окно регистрации, но строка "Пользователь" неактивная (в ней прописаны данные, взятые из того самого текстового документа). PS. После ввода корректных данных пользователь получает возможность использовать файл разрешенный период времени. В генераторе паролей предусмотрена возможность генерации регистрационного кода в зависимости от количества дней (см. вложение).
Доброго времени суток всем! Ребята, помогите, пожалуйста, воплотить в жизнь следующую идею. Предположим имеется некое подобие защиты файла от несанкционированного использования. При первом открытии файла пользователю предлагается ввести данные в UserForm. В строку "Пользователь" вносятся данные о пользователе (например Ф.И.О.), идентификатор автоматически генерируется и выводится в строке, а правильно введенный регистрационный, полученный с помощью генератора паролей, позволяет нам использовать файл энный период времени. Как сделать, чтобы после нажатия кнопки "Зарегистрировать" (при условии, что все данные введены, т. е. все строки заполнены, а регистрационный код соответствует соответствует своему идентификатору): а) в какой-нибудь папке C:\Temp создавался тестовый документ, например под названием "Пользователь", а внутри файла была прописана информация о пользователе (та, что указана при регистрации); б) после завершения периода использования файла снова появлялось бы окно регистрации, но строка "Пользователь" неактивная (в ней прописаны данные, взятые из того самого текстового документа). PS. После ввода корректных данных пользователь получает возможность использовать файл разрешенный период времени. В генераторе паролей предусмотрена возможность генерации регистрационного кода в зависимости от количества дней (см. вложение).Starbirst
Private Sub Зарегистрировать_Click() Open "c:\1.txt" For Append As #1 Close #1 f = FreeFile Open "c:\1.txt" For Append As f Print #f, TextBox3.Value Close #f End Sub
[/vba] Текстовый файл создан зарание.
Наверно так. [vba]
Код
Private Sub Зарегистрировать_Click() Open "c:\1.txt" For Append As #1 Close #1 f = FreeFile Open "c:\1.txt" For Append As f Print #f, TextBox3.Value Close #f End Sub
некое подобие защиты файла от несанкционированного использования.
Ваша идея понятна, но неудобна для пользователя. Каждый раз, при открытии, ему придется вводить регистрационный №. Лично я, привязывал файл к компу с помощью определения его серийного номера диска. При первом запуске, этот номер записывал в любую пустую (определенную мной) невидимую ячейку любого листа, при условии, что на этом листе не удаляются и не добавляются строки и столбцы дабы не сместилась запись. Рядом записывается текущая дата + количество дней пользования. При каждом последующем запуске проверяется сер.номер и дата и делаются соответствующие выводы. А вообще, это все для обычного пользователя. Пример для размышления.
некое подобие защиты файла от несанкционированного использования.
Ваша идея понятна, но неудобна для пользователя. Каждый раз, при открытии, ему придется вводить регистрационный №. Лично я, привязывал файл к компу с помощью определения его серийного номера диска. При первом запуске, этот номер записывал в любую пустую (определенную мной) невидимую ячейку любого листа, при условии, что на этом листе не удаляются и не добавляются строки и столбцы дабы не сместилась запись. Рядом записывается текущая дата + количество дней пользования. При каждом последующем запуске проверяется сер.номер и дата и делаются соответствующие выводы. А вообще, это все для обычного пользователя. Пример для размышления.Wasilich
Хорошее решение, Wasilich:-) А как быть, если пользователю необходимо поработать еще скажем 30 дней после завершения периода? У меня была идея такая: идентификатор будет генерироваться по методу случайных чисел, а регистрационный код будет рассчитан в зависимости от значения идентификатора. При первом запуске пользователь озвучивает разработчику идентификатор, а разработчик, в свою очередь, запускает генератор паролей дает регистрационный код. Данные не запрашиваются при каждом входе, только по завершении периода.
Хорошее решение, Wasilich:-) А как быть, если пользователю необходимо поработать еще скажем 30 дней после завершения периода? У меня была идея такая: идентификатор будет генерироваться по методу случайных чисел, а регистрационный код будет рассчитан в зависимости от значения идентификатора. При первом запуске пользователь озвучивает разработчику идентификатор, а разработчик, в свою очередь, запускает генератор паролей дает регистрационный код. Данные не запрашиваются при каждом входе, только по завершении периода.Starbirst
если пользователю необходимо поработать еще скажем 30 дней после завершения периода
Ну, значит, надо предусмотреть несколько разных кодов, заранее их ввести и делать проверку - если 555 то продлить еще на 15 дней, 666 продлить на 30, 777 - продлить на всегда. Короче, я предложил идею, и на ней не настаиваю, есть желание - развивайте.
если пользователю необходимо поработать еще скажем 30 дней после завершения периода
Ну, значит, надо предусмотреть несколько разных кодов, заранее их ввести и делать проверку - если 555 то продлить еще на 15 дней, 666 продлить на 30, 777 - продлить на всегда. Короче, я предложил идею, и на ней не настаиваю, есть желание - развивайте. Wasilich
ну тут возникает два вопроса: Не требующий ответа, что Вы пытаетесь защитить? И А как с этими познаниями Вы собрались тогда обеспечивать проверку кода ответа и генерацию этого кода. Тут по маку защищали файл, может пригодится. Чтение и запись ключей и значений реестра через WMI ищите, примеров полно.
ну тут возникает два вопроса: Не требующий ответа, что Вы пытаетесь защитить? И А как с этими познаниями Вы собрались тогда обеспечивать проверку кода ответа и генерацию этого кода. Тут по маку защищали файл, может пригодится. Чтение и запись ключей и значений реестра через WMI ищите, примеров полно.
В основном использую готовые макросы для защиты своих разработок от обычных пользователей. Единственным для меня более или менее надежным решением являются файлы обходчики, но хотелось реализовать возможность работы с файлом определенный период времени с возможности дальнейшего продления времени использования.
В основном использую готовые макросы для защиты своих разработок от обычных пользователей. Единственным для меня более или менее надежным решением являются файлы обходчики, но хотелось реализовать возможность работы с файлом определенный период времени с возможности дальнейшего продления времени использования.Starbirst