2015-01-11 3 views
0

У меня установлен скрипт python, который захватывает игровые данные от пользователей во время игры. Конечной целью этого является получение всех этих данных от каждого пользователя в базу данных postgresql на моем веб-сервере, где все можно сопоставить и отобразить через django.Загрузка клиентов в базу данных

Как я вижу это, у меня есть 2 варианта выполнения это:

  1. Хотя сценарий питона работает, я могу непосредственно открыть соединение с БД и загрузить его в режиме реального времени
  2. во время игровой сессии, вместо загрузки в БД напрямую, я могу сохранить вывести файл csv на свой компьютер и иметь отдельное приложение, которое будет находить эти файлы журналов и загружать их в db в более поздней точке.

Мне нравится (1), потому что это означает, что эти файлы журналов не могут быть изменены пользователем, поскольку они идут прямо на db - поэтому мы можем предотвратить подделку и обеспечить достоверные данные.

Мне нравится (2), потому что исходный скрипт python - это то, что каждый пользователь будет иметь на своем компьютере, а это значит, что он может открыть его по своему желанию (для этого он должен работать с игрой). Другими словами, если бы я пошел с (1), пользователи были бы ознакомлены с данными пользователя/прохода для подключения к db, который не является безопасным. С (2) приложение может быть просто ехе, где вы не можете увидеть исходный код и не могу видеть детали дб Войти

Мои вопросы:

  1. Таким образом, в одном случае я бы разоблачающие данные для входа , в другом я буду рисковать, когда конечные пользователи будут подделывать файлы csv перед загрузкой. Есть ли метод, который мог бы объединить плюсы двух методов без необходимости иметь дело с минусами?

  2. По крайней мере, если бы мне пришлось выбрать любой из этих двух методов, то как лучше всего обойти его падение? Можно ли предотвратить публикацию учетных данных db в общедоступном скрипте python? И если мне нужно сэкономить файлы csv, есть ли способ предотвратить подделку или проверку, если он был подделан?

ответ

1

Является ли использование REST с JSON для отправки данных на удаленный сервер альтернативой?

В этом случае вы можете написать сценарий JSON для клиентов, которые непрерывно отправляют данные на удаленный сервер через HTTP (например, REST).

Это снизит риск того, что данные будут подделаны, и вам не придется выставлять какие-либо учетные данные db.

+0

Эти методы все еще требуют аутентификации? Как бы вы кодировали эти данные, не подвергая основному пользователю db/pass? – Simon

1

Сценарий делает запрос POST на ваш веб-сервер Django либо с помощью логина/pwd, либо уникальной строки. Веб-сервер проверяет учетные данные и вставляет данные в БД.

Смежные вопросы