【问题标题】:How can I protect my application code? [closed]如何保护我的应用程序代码? [关闭]
【发布时间】:2016-11-03 06:07:35
【问题描述】:

我正在为一家公司构建一个 Web 应用程序,以便他们可以在一组人中测试该应用程序,看看他们是否愿意尝试为该应用程序提供资金。事先资助不是一种选择,但是我想保持代码的私密性,这样 IT 团队的人就不能轻易下载所有应用程序文件并声称它是他们的。我进行了一些研究,但几乎没有发现可以采取哪些措施来保护用 javascript、html、css 等编写的应用程序文件。基本的Web开发语言。如果可能的话,我只是好奇是否有人知道以某种方式保护这些文件的方法。我不反对分享我的代码,但是对于商业机会,我更喜欢暂时保持私密。

【问题讨论】:

  • 使用 gruntyeoman 为您设置任何内容,包括 css/js 缩小。其实所有的工具都只能让你的代码乱七八糟,让人无法直接阅读。但是,他们总是可以与患者一起锻炼。
  • 不,这是不可能的。不过,您可以将大部分逻辑移到服务器上。
  • 是的,我听说过这样做。不过,我并没有完全了解检索它的过程。我想我也可以调查一下
  • 我建议您不要开发足够的应用程序,这样窃取您开发的内容就不会很有效率。不要在没有报酬的情况下开发整个应用程序,只需制作原型即可。
  • 我最初制作了原型并在视频中展示了它。但是现在他们想要测试它并且它必须是可部署的。

标签: javascript html css file security


【解决方案1】:

这个问题之前已经回答过:How can I obfuscate (protect) JavaScript?

但无论如何,这是我对这个问题的看法:

您不需要保护您的 HTML/CSS 代码,除非应用程序的该方面是如此专有。如果是这样,请混淆您的代码(网上有很多网站会为您执行此操作)。

根据您提供给我的信息,我可以推断出您要保护的不是样式或 UI,而是应用程序的逻辑。在这种情况下,您可以混淆并缩小 JS 代码,使其很难解构(尽管某些 Web 浏览器会漂亮地打印代码)。要查看这方面的示例,请访问 Google,打开开发工具,然后查看 Sources 下的任何 JS 文件。

我还看到了对您问题的另一种解释。如果您的意思是“保护应用程序不被下载然后重新上传”,那么遗憾的是,Web 应用程序无法做到这一点(除非您明确检查应用程序正在运行的域并限制应用程序在您的域以外的域上运行) .

域保护的实现如下所示:

if (window.location.hostname !== "yourwebsite.com") {
   alert("Invalid domain, redirecting to official app...");
   document.location = "http://www.yourwebsite.com/app/";
}

添加此保护后,您可以通过缩小和混淆 JS 代码来阻止它被删除。

【讨论】:

  • 我正要评论前面的问题,说由于 chrome pretty-print 缩小代码是非常没用的
  • 是的,确实如此,但是对于试图进行逆向工程的人来说,混淆仍然会让生活变得困难,因此这可能是 OP 的一个选择。
  • 啊,谢谢,我会考虑混淆我的代码。
  • 混淆之前缩小可能会适得其反。
【解决方案2】:

对于 css 和 Js,很多人使用缩小。这使您的代码非常难以阅读和在代码中查找业务逻辑。至于HTML,你可以丑化它。没有真正的方法可以在浏览器中隐藏 HTML、CSS、JS,因为浏览器开发工具会显示所有代码。只有方法使它不可读。

JS 缩小工具:https://javascript-minifier.com/ CSS缩小工具:https://cssminifier.com/

https://developers.google.com/speed/docs/insights/MinifyResources

【讨论】:

  • 谢谢。我会研究这些工具
猜你喜欢
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多