javascript - 混淆代码的迹象

标签 javascript

如何确定网站的 .js 源文件是否被混淆?由于源文件在 HTML 源代码中可见,因此代码是可用的,但通常以神秘的方式编写。

例如,如果我尝试查看像 Soundcloud 这样的网站的 .js 文件,它会显示所有这些困惑的代码。这是否表明它被混淆了?

最佳答案

如果代码只是困惑,则很可能是精简。这涉及从文档中删除所有非必要的空白,然后:

function foo ( arg1, arg2 ) {
    return arg1 * arg2;
}

进入类似:

function foo(arg1,arg2){return arg1*arg2;}

此外,一些开发人员将替换方法和变量名称以及缩小过程的一部分:

function a(b,c){return b*c;}

这进一步减少了代码。不过,您仍然可以使用大多数浏览器来扩展它。我上次检查过,每个主要浏览器(Chrome、Firefox、Opera、Internet Explorer 和 Safari)都支持 Pretty Code。

enter image description here

至于他们如何做到这一点,它通常是构建步骤的一部分。在将源代码上传到服务器之前,他们对其运行一系列操作。通常,这涉及检查代码是否存在错误模式、运行单元测试等等。另一个步骤是缩小和串联(缩小和连接多个文件)。

如果您想在您的项目中执行此操作,我鼓励您查看Grunt.jsGulp.js 。两者都有可配置的任务,可以帮助您管理输出的大小和易读性。

关于javascript - 混淆代码的迹象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541465/

相关文章:

javascript - 根据多个下拉选择值使用 javascript 或 jquery 显示隐藏的 div

javascript - ref 为 null - 语义 UI React 表行

javascript - 带有特定字符串和之后任意数量字符的正则表达式

javascript - 跨浏览器很棒的盒子阴影效果

javascript - ckeditor5 & CakePHP 2.3 : How do I make the tables work?

php - 高级访问控制库

javascript - Mysql PHP 到 JavaScript 数组

javascript - 如何通过属性搜索嵌套对象中的对象并返回带有父对象的键和值的对象?

javascript - 如何让 OR 运算符在此 JavaScript 数组中工作

javascript - 在其外部单击时,多个模态框不会关闭