Mat*_*har 2 .net c# passwords password-protection
我有通过预定的用户名和密码连接到SqlServer的程序.例如:
static void Main(string[] args)
{
string UserName, Password;
UserName = "Name";
Password = "Pass";
SqlConnection conn = new SqlConnection("...");
}
Run Code Online (Sandbox Code Playgroud)
如何保护密码免受反编译?
Eri*_*ert 15
首先,不要这样做.安全系统旨在保护用户免受试图让用户运行错误代码的攻击者的攻击.它不是为了保护您的程序免受其用户影响,而您正在尝试这样做.
由于多种原因,将用户名和密码硬编码为可执行文件是最糟糕的做法.首先,因为它授予拥有程序的人员访问数据库的权限,而不是授权人员.其次,这意味着如果您需要更改用户名或密码,则需要重新发送程序.第三,如果密码确实没问题,只需要出一次,会发生什么?您无法限制仅攻击者的访问权限.
一个更好的解决方案是要求每个用户都有自己的帐户; 让他们输入密码.或者将数据库访问与其他身份和授权方案(如Windows身份验证或其他)集成.
归档时间: |
|
查看次数: |
1299 次 |
最近记录: |