Secure ConnectionString в приложениях WinForm
Как я могу защитить свою ConnectionString в приложении WinForm?
3 ответа
Ты не можешь Хотя вы можете зашифровать строку подключения в файле app.config, приложение должно иметь возможность дешифровать ее, и поэтому всегда можно получить незашифрованную строку подключения, особенно с помощью управляемого приложения (возможно, не для вашего обычного конечного пользователя, но любой опытный разработчик может сделать это).
Решение этого состоит в том, чтобы не полагаться на безопасность из-за неясности. Используйте Windows Integrated Security при подключении к базе данных с использованием учетной записи пользователя Windows и предоставьте пользователю минимальный объем прав в базе данных.
Хотя часто этого все еще недостаточно, потому что очень сложно защитить базу данных, когда конечные пользователи напрямую подключены к базе данных (часто потому, что вам нужна защита на уровне строк). Чтобы это работало, вам нужно запретить доступ к таблицам и представлениям и полностью вернуться к хранимым процедурам.
Тем не менее, лучший подход состоит в том, чтобы не дать настольному приложению напрямую связываться с базой данных; использовать веб-сервис в качестве промежуточного слоя. В этом случае вы имеете полный контроль над безопасностью и можете безопасно хранить строку подключения на (веб-сервере).
Здесь много спрашивают...
Шифрование разделов и / или настроек в файле App.config, который будет распространяться
Кажется, никогда не бывает окончательного ответа... кажется, что это один из тех сценариев типа "каждый к своему"... используйте то, что лучше всего подходит для вашей ситуации.