Как защитить пароль строки подключения в проекте WPF? - PullRequest
0 голосов
/ 26 июня 2011

Я разрабатывал игровое приложение для клиента и сервера.Я использовал веб-сервис (WCF).Таким образом, клиентское приложение не хранит пароль базы данных.Вместо этого он получает доступ к веб-службе, поэтому пароль не может быть взломан.Но теперь, я думаю, я мог бы развиваться быстрее, если бы мог использовать Entity Framework.Но я пытался давным-давно, и я прочитал, что WCF не совместим с EntityFramework, из-за некоторых атрибутов, которые не могут сериализоваться.

Так что я предполагаю, что если я использую инфраструктуру сущностей, я не смогу разбитьдва приложения (клиент и сервер).Или я могу?

Так есть ли безопасный способ не быть взломанным, если я разрабатываю только одно приложение (без разделения на клиент / сервер).Это приложение будет подключаться к базе данных, но ему нужен пароль.Но я думаю, что не могу хранить пароль в том же приложении, которое использует клиент.Что мне делать?

Может быть, мои идеи сбиты с толку, извините.Пожалуйста, помогите мне.Спасибо.

1 Ответ

5 голосов
/ 26 июня 2011

Нет реального способа защитить пароль, когда вы передаете строку подключения клиенту. Даже если вы каким-либо образом зашифруете его, вашему приложению все равно потребуется ключ шифрования для расшифровки строки / пароля соединения, чтобы пользователь мог найти этот ключ (дизассемблирование) и расшифровать его. Как только вы передаете строку подключения клиенту, вы даете ему разрешения на доступ к вашей базе данных. Из-за этого вы должны дать ему имя пользователя и пароль, которые позволят ему выполнять только разрешенные запросы и изменения - это вряд ли возможно, когда вы распространяете игру, потому что для этого потребуется отдельный уникальный логин для каждого вашего клиента и весь ваш доступ к данным должен будет быть сделано через хранимые процедуры. Вы никогда не должны выставлять базу данных публично (ни один администратор базы данных не допустит этого). Вам нужен клиент / сервер.

Я прочитал, что WCF не совместим с EntityFramework

Покажите, о каких реальных проблемах вы читаете или какие у вас действительно проблемы.

WCF может использоваться с платформой Entity. Существуют даже службы данных WCF, которые представляют модель структуры объекта как службу REST OData. Единственные проблемы, которые обычные службы WCF имеют с EF, - это отложенная загрузка, которую следует отключить, и сериализация, когда вам приходится иметь дело с циклическими ссылками или использовать объекты передачи данных вместо реальных объектов.

...