Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在代码中保护服务器连接身份验证_C#_Security_Authentication_Password Protection - Fatal编程技术网

C# 如何在代码中保护服务器连接身份验证

C# 如何在代码中保护服务器连接身份验证,c#,security,authentication,password-protection,C#,Security,Authentication,Password Protection,在许多应用程序中,我需要在类内的应用程序中写入用户名和密码,如HTTP身份验证、FTP身份验证MSSQL服务器连接字符串也提供身份验证信息,那么,保护这些信息的最佳方法是什么呢?因为有人可以很容易地反编译我的应用程序,也许可以使用Reflector获得这些信息,这些信息对某些攻击或类似的攻击很有用 你能更具体地解释一下你的总体目标是什么吗?通常有比硬编码密码和身份验证令牌更好的设计 如果你正在分发你的应用程序,你真的无法保护这些秘密。即使对配置文件进行加密,应用程序仍然需要密钥进行解密,因此攻击

在许多应用程序中,我需要在类内的应用程序中写入用户名和密码,如HTTP身份验证、FTP身份验证MSSQL服务器连接字符串也提供身份验证信息,那么,保护这些信息的最佳方法是什么呢?因为有人可以很容易地反编译我的应用程序,也许可以使用Reflector获得这些信息,这些信息对某些攻击或类似的攻击很有用


你能更具体地解释一下你的总体目标是什么吗?通常有比硬编码密码和身份验证令牌更好的设计

如果你正在分发你的应用程序,你真的无法保护这些秘密。即使对配置文件进行加密,应用程序仍然需要密钥进行解密,因此攻击者拥有所需的一切


不过,您可以选择其他设计,例如提示用户输入自己的唯一密码,然后对web服务进行数据库调用,而不是分发直接连接到中央数据库的应用程序。但是你必须解释这个场景,以获得更好的建议

我曾经遇到过这样一个例子,软件应该连接到FTP服务器并列出它的所有文件(通常是XML文件),所以应该只有用户名和密码,因为所有客户端都应该列出这些文件,而不管其他什么,所以在这种情况下,提示用户在出现关键问题时键入密码,因此,在这种情况下,我应该将密码保留在代码中。你会遇到的问题是,如果你硬编码FTP密码,你真的无法保护它。此应用程序是否分发给很多人?它是内部应用程序吗?是否可以提示用户输入密码以解密这些敏感字符串?如果你不能提示用户,也不能通过外部资源代理,那么试图保护存储密码是一个鸡和蛋的问题,所以以防万一哪种方式是代理这些的最佳方式,通过发送XML消息来使用SOAP,或者通过向Web服务应用程序发送校验和来使用Web服务,然后Web服务用身份验证内容进行回复?