Как защитить базу данных sqlite3, созданную с помощью python "внешнего" редактирования
Прежде всего, извините за мой плохой английский, это не мой родной язык.
Итак, у меня есть программа python (2.7), которая ЧИТАЕТ, УДАЛЯЕТ и ВСТАВЛЯЕТ данные в базу данных sqlite3. (Программа сделана и работает отлично).
Моя новая проблема заключается в том, что я не хочу, чтобы базу данных можно было редактировать, например, с помощью "Браузера данных SQLite". Я только хочу, чтобы база данных была отредактирована (DELETE и INSERT) через мою программу на python. Это возможно?
Работаю на Linux (Распбиан). Python 2.7. Код слишком большой, и я не думаю, что он также необходим.
заранее спасибо!
1 ответ
Я ищу что-то подобное Но думаю о двух решениях.
- Шифрование и дешифрование из программы.
- Каждый раз, когда вы редактируете базу данных из Python, вы генерируете контрольную сумму и сохраняете эту контрольную сумму в базе данных. Если кто-то изменил базу данных вне программы, контрольная сумма будет изменена, чтобы вы могли узнать, что база данных была изменена извне программы.
Как вы сказали, они не умные люди, поэтому они не будут генерировать контрольную сумму и изменять вашу контрольную сумму.
Если они могут это сделать, сохраните контрольную сумму в Интернете и извлекайте ее каждый раз при загрузке программы.
Ваш английский в порядке.
Предположим, это было возможно. Это будет означать, что только ваша программа может аутентифицироваться в базе данных. Это означает, что он получает учетные данные откуда-то или хранит их где-то..
Ваш код живет на Raspberry PI. Если вы можете коснуться Raspberry PI, вы можете просто вытащить SD-карту и получить доступ к базе данных и коду.