У меня установлен скрипт python, который захватывает игровые данные от пользователей во время игры. Конечной целью этого является получение всех этих данных от каждого пользователя в базу данных postgresql на моем веб-сервере, где все можно сопоставить и отобразить через django.Загрузка клиентов в базу данных
Как я вижу это, у меня есть 2 варианта выполнения это:
- Хотя сценарий питона работает, я могу непосредственно открыть соединение с БД и загрузить его в режиме реального времени
- во время игровой сессии, вместо загрузки в БД напрямую, я могу сохранить вывести файл csv на свой компьютер и иметь отдельное приложение, которое будет находить эти файлы журналов и загружать их в db в более поздней точке.
Мне нравится (1), потому что это означает, что эти файлы журналов не могут быть изменены пользователем, поскольку они идут прямо на db - поэтому мы можем предотвратить подделку и обеспечить достоверные данные.
Мне нравится (2), потому что исходный скрипт python - это то, что каждый пользователь будет иметь на своем компьютере, а это значит, что он может открыть его по своему желанию (для этого он должен работать с игрой). Другими словами, если бы я пошел с (1), пользователи были бы ознакомлены с данными пользователя/прохода для подключения к db, который не является безопасным. С (2) приложение может быть просто ехе, где вы не можете увидеть исходный код и не могу видеть детали дб Войти
Мои вопросы:
Таким образом, в одном случае я бы разоблачающие данные для входа , в другом я буду рисковать, когда конечные пользователи будут подделывать файлы csv перед загрузкой. Есть ли метод, который мог бы объединить плюсы двух методов без необходимости иметь дело с минусами?
По крайней мере, если бы мне пришлось выбрать любой из этих двух методов, то как лучше всего обойти его падение? Можно ли предотвратить публикацию учетных данных db в общедоступном скрипте python? И если мне нужно сэкономить файлы csv, есть ли способ предотвратить подделку или проверку, если он был подделан?
Эти методы все еще требуют аутентификации? Как бы вы кодировали эти данные, не подвергая основному пользователю db/pass? – Simon