ASP.NET MVC3 RAZOR视图C#注入

ASP.NET MVC3 RAZOR视图C#注入,asp.net,asp.net-mvc-3,security,razor,Asp.net,Asp.net Mvc 3,Security,Razor,我已经用aspnet_regiis.exe加密了MVC3 web应用程序的“web.config”文件。 但是,如果有人拥有对“web.config”的物理访问权,那么他可能也可以访问cshtml文件。例如,他可以注入这样的代码: <label>@ConfigurationManager.AppSettings["dbconnection"].ToString()</label> @ConfigurationManager.AppSettings[“dbconnecti

我已经用aspnet_regiis.exe加密了MVC3 web应用程序的“web.config”文件。 但是,如果有人拥有对“web.config”的物理访问权,那么他可能也可以访问cshtml文件。例如,他可以注入这样的代码:

<label>@ConfigurationManager.AppSettings["dbconnection"].ToString()</label>
@ConfigurationManager.AppSettings[“dbconnection”].ToString()
从而影响了我的应用程序的安全性。
有什么建议可以解决这个问题吗?

如果有人可以物理访问web.config,那么他们就可以访问服务器,这意味着他们可以访问整个应用程序和IIS等。如果需要,他们可以删除整个应用程序


如果这是您的问题,我希望确保对服务器的安全访问,而不是对应用程序的安全访问?

同意,如果有人可以访问您已经被破坏的文件!如果我的应用程序托管在共享托管服务器上,并且有人通过破坏该服务器上的其他应用程序而获得了对我的文件的访问权限,该怎么办?当您使用共享托管时,这是一种风险。专用服务器或云虚拟机是前进的方向。@user1268545您可以预编译Razor视图吗?问题是,这是否会防止创建新视图,或将现有视图替换为未编译版本。