有没有一种方法可以使未被混淆的javascript过期

Is there a way to expire unobfuscated javascript?

本文关键字:过期 javascript 可以使 方法 一种 有没有      更新时间:2023-09-26

目前,我们的开发人员对javascript代码不进行混淆,以便在我们发布到生产环境之前,他们可以更好地在暂存阶段对我们的代码进行QA。

然而,有时,他们会忘记在发布到生产环境之前混淆代码。

我想知道是否有一种方法可以使未混淆的javascript过期,这样,即使QA开发人员忘记混淆js,它也会在一定的时间段(比如12小时)后自动混淆js?

不,你所要求的是没有意义的。

问题出在你的流程上:为什么在你的QA开发人员得到产品之前就发生了混淆?为什么不在他们和最终客户发布之间(即使是必要的)?

试着重新设计代码在核心开发人员和客户之间的路径,而不是为业务问题寻找技术解决方案。

Javascript不会混淆自己,所以这个问题没有什么意义。

混淆是由构建/发布过程中的一个单独的工具来完成的。您需要的是改进/自动化发布过程的一部分,以消除该过程中出现人为错误的可能性。这可以通过更严格的手动过程来完成,也可以通过更自动化来完成。

一般来说,QA团队应该测试与部署在最终站点上的代码完全相同的代码,所以如果混淆了,那就是QA应该测试的。所以,首先,我要回顾一下QA在做什么以及为什么。他们应该测试混淆的代码。

如果QA出于任何原因需要审查未被混淆的代码(我自己想不出任何可能的原因),那么他们应该在自己的未被混淆系统上制作自己的代码副本,并且不应该在发布过程中将未被混淆代码放在任何地方。

最后,听起来构建一个自动发布过程会让您受益匪浅,该过程可以进行模糊处理并部署到QA测试环境中,也可以将相同的过程部署到生产服务器中。这保证了模糊处理到位,并且QA正在测试与发布时投入生产的部分完全相同的部分。

您的流程是错误的。如果开发人员需要未被混淆的javascript进行调试,那么让服务器本身有一个调试标志来返回未被混淆代码。默认为模糊代码。要求两者都在场。在发布过程中,将模糊处理转化为发布脚本。

你不希望QA测试你正在部署的构建之外的其他东西,所以事后混淆是不可能的(想象一下你在混淆器中遇到了一个错误……很可能,你宁愿在QA中发现它,还是等到它被戳中才发现?

通过默认使用模糊代码,但允许通过会话状态或cookie使用纯代码,您既可以获得经过正确测试的版本,也可以获得易于调试的版本。