Клиент хочет, чтобы я не мог читать конфиденциальные данные со своего сайта, которые все равно будут управляться мной. На практике это означает, что у меня будет доступ к базе данных, но мне не удастся прочитать содержимое определенных полей модели. Есть ли способ сделать данные недоступными для меня, но все же расшифрованы сервером для просмотра клиентом?Зашифрованные поля модели Django
ответ
Нет, у вас нет данных, которые могут быть как в форме, которую вы не можете расшифровать, так и в форме, где вы можете расшифровать ее, чтобы одновременно показывать ее клиенту. Лучшее, что вы можете сделать, это обратимое шифрование контента, поэтому, по крайней мере, если ваш сервер взломан, их данные безопасны.
Вы и ваш клиент можете договориться о том, что они затенены. Простая операция XOR или что-то подобное сделает значения нечитабельными в админе, и они могут быть декодированы как раз в то время, когда они необходимы на сайте.
Таким образом, вы можете безопасно управлять сайтом без «случайного» чтения чего-либо.
Убедитесь, что ваш клиент понимает, что технически возможно получить фактическое содержимое, но для этого потребуется активное усилие.
Посмотрите на Django-fields
Это возможно шифрование с открытым ключом. Я сделал что-то подобное раньше в PHP, но идея для приложения Django одинакова:
Все данные на этом веб-сайте хранятся в зашифрованном виде с использованием закрытого ключа, хранящегося в системном программном обеспечении. Соответствующий открытый ключ для дешифрования данных был сохранен клиентом в текстовом файле.
Когда клиент хотел получить доступ к своим данным, они вставили открытый ключ в форму авторизации (удерживая ключ в сеансе), который разблокировал данные.
Когда все закончилось, они деавторизовали свою сессию.
Это защищало информацию от авторизированного доступа к веб-приложению (так безопасно против слабого имени пользователя/пароля), а также от утечек на уровне базы данных.
Это еще не полностью безопасно: если у вас есть права доступа к компьютеру, вы можете захватить ключ при его загрузке или просмотреть информацию о сеансе. Для этого можно было бы запустить программное обеспечение для чтения на машине клиента и получить доступ к базе данных через API.
Я понимаю, что это старый вопрос, но я подумал, что уточню, что это действительно возможно.
Возможно, вы найдете Django Encrypted Fields.
Некоторые другие вопросы, которые следует учитывать, это то, что веб-приложение не сможет сортировать или легко запрашивать в зашифрованных полях. Было бы полезно узнать, какие административные функции клиент хочет получить у вас. Другой подход состоял бы в том, чтобы иметь отдельный канал приложения/доступа, который не отображает критические данные, но все же позволяет вам выполнять только функции администратора.
- 1. Поля модели Django
- 2. Переименование поля модели Django
- 3. Пользовательские поля модели Django
- 4. Свойство модели Django без поля
- 5. Присвоение поля в модели Django
- 6. Django Forms, поля и модели
- 7. Получить поля модели в Django
- 8. Фильтр по модели поля, Django
- 9. Как исследовать поля модели django?
- 10. Регулярно обновляющие поля модели Django
- 11. Как работают поля модели Django?
- 12. Переопределяющие поля в модели Django
- 13. Обновление поля в Django модели
- 14. Чтение параметров поля модели Django
- 15. Динамическая длина поля Django модели
- 16. Django: Получить данные поля модели из данных поля модели
- 17. Модели Django: переопределить значение возвращаемого поля
- 18. создания модели Django совместно уникальные поля
- 19. Django - как получить все поля из модели
- 20. Django 1.1 формы, модели и скрывающие поля
- 21. опорного поля в методе Django модели
- 22. Каковы неявные поля, доступные в модели Django?
- 23. по умолчанию атрибут модели поля в Django
- 24. Запросы к ManyToMany поля в модели Django
- 25. перебор поля Django модели производит ненужный формат
- 26. Соответствие текстового поля Django в модели
- 27. Как получить отдельные поля из модели django?
- 28. Django формы пользовательской модели поля формы этикетки
- 29. Изменение поля пароля модели аутентификации Django
- 30. Показать django Поля модели в таблице
Я боялся этого. Думаю, я просто напишу чертовски хорошую политику конфиденциальности ... – OwenK