Задать вопрос

Как защитить файл от редактирования?

Здравствуйте.
Есть программа, которая работает с некоторыми текстовыми файлами. Как защитить эти файлы от редактирования кроме как этой самой программой?
Язык: C++
Спасибо!
  • Вопрос задан
  • 7706 просмотров
Подписаться 11 Оценить 5 комментариев
Решения вопроса 4
itvdonsk
@itvdonsk
Android Developer
Шифровать
Ответ написан
xotkot
@xotkot
хорошо есть и хорошо весьма
можно попробовать по другому
не защищать файл от редактирования, а просто восстанавливать его из копии если на момент проверки хеш файла не сошёлся. Ну а копию можно в запароленный архив или качать из сети, зависит от задачи которую нужно решить.
Ответ написан
Комментировать
Trrrrr
@Trrrrr
Самый просто способ что бы не заморачиваться. Юзайте зип архив с паролем. И все рабочие файлы доступ к которым вы хотите скрытть архивируйте с паролем. Конечно можно взломать программу и достать оттуда пароль. Но обычный юзер это делать не будет.
Ответ написан
Комментировать
iLeonidze
@iLeonidze
xbooster.ru
Никак. Шифрование, архивы - но это очень долго.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
AxisPod
@AxisPod
Ничего не защитит файл от редактирования. Если даже вы сделаете сервис, который монопольно при запуске системы будет захватывать файл, то ничего не помешает вырубить комп, вытащить винта и подрубить к другому компу. Не говоря о том, что процессы можно прибить при желании.

Если хотите защиту, делайте клиент-серверное приложение, с авторизацией пользователя.

В разных ОС есть еще конечно защищенные хранилища, но это опять же не защитит от перецепления винта.
Ответ написан
Комментировать
@v_prom
Открывать файл монопольно или выставить права на запись.
Ответ написан
На Windows можете посмотреть здесь msdn.microsoft.com/ru-ru/library/windows/desktop/a... флаг OF_SHARE_EXCLUSIVE или здесь msdn.microsoft.com/ru-ru/library/windows/desktop/a... почитать про dwShareMode.

UPDATE: это работает только пока файл открыт, после того как закроете файл, его можно редактировать снова.

На Unix-ах, наверно, кроме File Locking простых вариантов нет, но он предотвращает доступ только для приложений так же использующих File Locking.
Ответ написан
Комментировать
@FritzSchnapsmann
Смотря какая ОС.
Если Линукс - создавайте отдельного пользователя для программы и chmod/chown.
Если виндовс - надо писать драйвер. (возможно в гугле что-то есть)
Ответ написан
Комментировать
В линуксе достаточно установки атрибута на файл chattr +i file
Это запретит изменение даже root-пользователю. Так же есть еще и расширенные атрибуты. Подробнее читайте в man chattr, lsattr
Ответ написан
Комментировать
AterCattus
@AterCattus
Люблю быстрый backend
Может просто подписывать содержимое файла? Он останется текстовым, но последней строчкой, к примеру, хешик содержимого, алгоритм которого закопан в программе. По надежности сопоставимо с шифрованием, но файл остается текстовым.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы