0

我将很快将我的 MVC 站点托管给外部提供商(我尚未最终确定托管服务公司)。我的网站是使用 ASP.NET MVC 4 开发的,它使用 SQL Server 2008 作为其数据库。我将在单个域下发布 3 个应用程序:

  • MVC 4 外部站点 - 公共访问
  • WCF 服务 - 由外部站点使用
  • MVC 4 内部站点 - 受限访问(管理和配置目的)

目前有几个问题让我印象深刻-

  1. 如何使我的代码安全,使其不能从其 DLL 中重构?
  2. 如何使 CSHTML(剃刀)视图安全,以便托管公司的任何人都无法看到其内部?
  3. 最后,如何让 SQL Server 数据库安全,让托管公司中的任何人都无法通过 SSMS 打开它?

所有这些问题都是相互关联的,所以我在一个问题中发布。我不确定托管公司中的任何人是否真的可以为客户的代码或数据库烦恼,但这只是一个安全考虑。

4

1 回答 1

1

简短的回答是:你不能。您需要对托管服务商有最低限度的信任。不行就找别人。

获得所需安全性的唯一方法是在您自己控制物理访问(即现场)的机器上自己托管网站。下一个最佳解决方案是租用根服务器,但即便如此,您也无法可靠地锁定托管公司。

您可以混淆 DLL 以使反编译更加困难(但并非不可能),但是(据我所知)无法使用 Razor 视图执行此操作。无论哪种方式,我都不建议对网站这样做。数据库不能像设计的那样被混淆,特别是如果它位于共享服务器上。

长话短说:如果您在不属于您的机器上运行代码或存储数据,您将无法再完全控制对它的访问。

于 2013-08-13T09:30:46.867 回答