【问题标题】:Is there a way to encrypt Razor Class Library to .NET Core MVC application?有没有办法将 Razor 类库加密到 .NET Core MVC 应用程序?
【发布时间】:2019-03-15 06:10:43
【问题描述】:

我依赖翻译。 请原谅。

  • Razor 类库 = RCL
  • .NET Core MVC 应用程序 = CMA

我正在考虑解决这个问题。 link

我从头再来。

我的目标是加密 RCL 的 View.cshtml 文件。

我进行了谷歌搜索。我找不到答案。

请帮帮我..

【问题讨论】:

  • 你为什么要加密这个cshtml文件本身???没有人/没有人能够解析/使用它...
  • @kayess 谢谢。我将项目文件分发给客户。我阻止客户修改 _layout.cshtml。 .cshtml不能加密加载吗?
  • @jwp 例如如果我是你的客户并且我得到了你的库,我仍然可以在向最终用户显示服务之前修改由你的 dll 呈现的 html。您也许可以阻止人们查看您的代码,但我仍然可以对您的 dll 呈现的代码做任何我想做的事情。
  • @AnirudhaGupta 谢谢。你说你可以隐藏代码。我希望客户无法修改 RCL 的 _layout.cshtml。是否可以隐藏 RCL 的 _layout.cshtml?我想隐藏最重要的_layout.cshtml。
  • 使用反射我可以在 C# 中看到类的私有变量,如果 asp.net mvc api 使用函数公开 .cshtml 文件的代码,则可以看到您的代码。没有任何好处,请查看麦克的回答。

标签: asp.net-mvc razor asp.net-core asp.net-core-mvc razor-pages


【解决方案1】:

即使您可以加密 Razor 类库,也没有任何意义。它们被设计为被覆盖。

https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ui-class?view=aspnetcore-2.1&tabs=visual-studio#override-views-partial-views-and-pages

当在 Web 应用程序和 Razor 类库中都找到视图、局部视图或 Razor 页面时,Web 应用程序中的 Razor 标记(.cshtml 文件)优先。

【讨论】:

  • 谢谢。我阅读了附加的链接。我有一个问题。如果 RCL 的文件名与 WebApp1 的文件名相同,则首先应用 WebApp1。如果名称不一样,会发生什么?我必须隐藏 _layout.cshtml。 _layout.cshtml是执行后最先出现的,有RenderBody()。而且我不会让客户修改_layout.cshtml。
  • 如果名称不同,不会覆盖RCL版本。您无法阻止客户修改布局文件的输出。他们可以使用客户端代码在浏览器中对其进行修改。也许您应该针对您的实际问题提出一个新问题,而不是询问您对问题的解决方案所产生的问题。
  • 谢谢。当参考链接link时,我有一个问题。 1. 为什么要拆分 RCL 和 CMA?附加问题。 2. 从 CMA 中排除项目 RCL。然后构建 RCL 并参考 CMA 中生成的 RCL.dll。这是错的吗? (这是我帖子中使用的方法。) 3. 最后.. 如果您想对客户隐藏 _layout.cshtml,您会怎么做?有什么办法吗?我不知道如何解决它。告诉我一个提示或方法。
  • 1.因为它就是这样完成的。 RCL 旨在作为包引用。 2. 这是正确的做法。 3. 为什么要“隐藏”layout.cshtml?你到底想阻止用户做什么?
  • 客户无法修改 RCL 中包含的实际布局文件。他们可以通过覆盖它或通过客户端脚本来修改其输出,或者他们可以使用反汇编程序对您的 RCL 进行逆向工程并构建自己的。
猜你喜欢
  • 2020-05-20
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 2019-03-28
  • 2019-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多