Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net 使用受保护的配置加密web.config是否毫无意义?_.net_Asp.net_Security_Encryption_Web Config - Fatal编程技术网

.net 使用受保护的配置加密web.config是否毫无意义?

.net 使用受保护的配置加密web.config是否毫无意义?,.net,asp.net,security,encryption,web-config,.net,Asp.net,Security,Encryption,Web Config,我一定错过了什么 因此,我正在找出在web.config中加密数据库连接字符串和sql会话状态连接信息的最佳方法。我很快就找到了一个有关msdn的演练,其中解释了如何使用受保护的配置来加密web.config的部分内容: 所以我觉得很好,有一个机制可以做到这一点,它看起来非常简单。在演练的最后,他们提供了一个aspx页面的源代码,可以用来解密所有的连接字符串 重点是什么???我没有在这个web服务器上运行任何ftp服务,任何人查看web.config的唯一方法就是访问发布网站的文件系统。如果他

我一定错过了什么

因此,我正在找出在web.config中加密数据库连接字符串和sql会话状态连接信息的最佳方法。我很快就找到了一个有关msdn的演练,其中解释了如何使用受保护的配置来加密web.config的部分内容:

所以我觉得很好,有一个机制可以做到这一点,它看起来非常简单。在演练的最后,他们提供了一个aspx页面的源代码,可以用来解密所有的连接字符串

重点是什么???我没有在这个web服务器上运行任何ftp服务,任何人查看web.config的唯一方法就是访问发布网站的文件系统。如果他们有,那么他们所要做的就是使用提供的代码取消加密


我错过了什么?有没有更好的加密方法?如果我推出一个自定义解决方案,它是否适用于sql会话状态部分?(不要相信可以从web.config中删除该文件)

假设您使用的是DPAPI提供程序,那么您至少需要对文件系统进行写访问才能对其进行解密。解密的方法包括:

  • 将包含解密代码的aspx页面复制到服务器并导航到该页面
  • 登录服务器并运行应用程序对其进行解密
但它可以防止对文件系统或文件系统备份具有读取权限的未授权用户解密

通常,您会设置生产服务器,以便只有经过授权的管理员才能登录到服务器或写入其文件系统

出于支持目的,开发人员可能具有远程读取权限,并且无法远程解密配置文件

使用标准库进行加密/解密很容易:困难的部分是确保只有经过授权的人才能访问密钥

如果您使用的是DPAPI,则实际上是将密钥的管理委托给Windows安全性。如果您使用其他提供商(如RSA),则需要将密钥存储在某个位置,并防止未经授权的访问,例如使用ACL