c# – 使用Entity Framework时,如何将数据库用户名和密码安全地
使用Entity Framework访问非本地服务器上的数据库时,如何在连接字符串中指定用户名和密码参数(存储在web.config文件中)?
我已经阅读了C#分步指南(John Sharp 2010版),因为潜在的逆向工程或有人掌握了源代码,所以从不硬编码到您的应用程序中.所以我想知道这样做的传统最佳实践. 解决方法
硬编码用户和密码有三个原因:
>它给你一个安全的错误印象,因为当你用文本编辑器查看二进制文件时你什么都不懂,但实际上拆卸.NET程序集是件小事 这个问题没有神奇的解决方案,在这种情况下,安全性只能与负责安全的人员的纪律和善意一样好. 在我的公司,它是这样的: >软件开发人员无权访问生产数据库,而且他们肯定不知道用户和密码 加密web.config中的用户和密码只会对你有所帮助.最终,您必须在应用程序中以清晰的形式对加密密钥进行硬编码,这会将我们带回到反汇编问题中. 在我看来,一个非常好的解决方案是将我公司发生的事情和加密与明确的密钥和混淆相结合. 一般的想法是: >采取我对应用程序管理员的说法 这意味着某人(可能是公司的所有者或其他负责人)需要使用“greasemonkey”应用程序来加密用户名和密码,并将结果加密给应用程序管理员. 不要忘记还有数据库管理员最初给所有者一个初始的凭证对.所有者需要更改密码,然后执行我布置的所有操作. 总之,有许多解决方案,有些比其他解决方案更狡猾.它不仅仅在工具和代码中,而且在学科中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |