我正在开发一个asp.net mvc-5 Web应用程序。我使用第三方应用程序生成的安全令牌从我的服务器端调用第三方API。 现在我以安全的方式传递令牌,如下所示: -
所以我认为令牌在传输过程中不会被黑客入侵。但我面临的问题是如何存储和阅读令牌本身。目前我将其存储在web.config
部分: -
<appSettings>
.....
.....
<add key="SecureToken" value="12345" />
.....
.....
</appSettings>
我正在检索我的应用程序中的值,如下所示: -
string Token = System.Web.Configuration.WebConfigurationManager.AppSettings["SecureToken"]
所以我面临的安全问题是,如果有人访问实时服务器,他可以读取web.config
文件并获取安全令牌。所以我读到我可以使用aspnet_iisreg
命令加密部分web.config部分。但现在我不知道如何强制这个在我的环境中工作?我的意思是我需要在一个环境中运行aspnet_iisreg
,让我们说开发?或者我需要分别在三个环境中运行此命令?
答案 0 :(得分:1)
它应该通过部署脚本运行,它可以是msi或PowerShell或其他东西。如果你手动部署,它需要aspnet_regiis -pe“yourappsettings”-app ...这也是一个手动工作并且容易出错。因此,开发包含所有页面,dll,.js,图像等的包,并安装该包(msi或powershell或其他)并将其安装到您的服务器。在该软件包中包含一个执行aspnet_regiis命令的脚本,该命令应在创建虚拟目录后运行,主要应该是最后一种操作。如果您使用的是powershell,那么它是一组指令 - 因此一条指令应该是aspnet_regiis命令。尝试使用VS Web部署包的后期构建事件。