【问题标题】:Prevent circumventing ASP.NET minification防止规避 ASP.NET 缩小
【发布时间】:2015-05-05 20:07:06
【问题描述】:

我有一些 ASP.NET,我将其部署为 Azure 云服务。 javascript 文件中有 cmets,我不想让任何使用 JS 的人看到它们。我正在利用 ASP.NET 捆绑和缩小:

http://www.asp.net/mvc/overview/performance/bundling-and-minification

这似乎是一个不错的解决方案,因为它会在缩小过程中删除所有 cmets。但我不能指望用户不会直接将他或她的浏览器直接指向单独的原始 js 文件。我试图弄清楚如何防止用户直接拉动 js 文件(强制他们只拉一个包),以防止查看 cmets。有没有办法实现无法下载的文件黑名单?如果没有,我正在考虑在每个 js 文件的名称中添加一系列随机字符。最后,如果这看起来不是一个好主意,我会研究在 VS 构建过程中注入一些东西以在发布时剥离 cmets。

欢迎提出任何想法。

【问题讨论】:

  • 在我们的项目中,我们在生产环境中将 js 文件合并到一个缩小的文件中。除非知道名称和确切位置,否则用户无法下载单个文件。
  • 您可能还对用户可以通过更改他们的用户代理来读取您的包中的 cmets 感兴趣,如 this SO post 中指定的那样。

标签: javascript asp.net asp.net-mvc minify bundling-and-minification


【解决方案1】:

您可以在您的 js 所在文件夹中的 web.config 中使用 blockviewhandler。将所有可以下载的文件显式列入白名单,然后阻止其余文件。

这个问题有一个例子: Where to put view-specific javascript files in an ASP.NET MVC application?

【讨论】:

    【解决方案2】:

    我认为您可以修改部署过程。仅将缩小的 js 文件上传到您的生产服务器,但将所有内容上传到您的测试/开发服务器。

    【讨论】:

      猜你喜欢
      • 2016-11-30
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多