HTML5应用采用的仍然是Javascript、HTML、CSS 等Web语言,因而其代码保护就是这些Web代码的保护,而HTML5应用主要功能一般采用JS实现,因此JS代码就成了保护重点。然而,似乎Web语言的设计者们根本没考虑过保护代码,或许因为他们认为互联网的核心价值不是代码,而是业务数据、是流量,这样更有利于互联网Web服务的发展。但开发者似乎不这么认为。我和开发者交流BAE/Widget/HTML5等话题时,必不可少的问题就是如何保护代码。代码保护是许多Web开发者的一块心病。Web语言是解析执行,即代码需要明文下载到客户端(如浏览器),同时可以很容易的进行调试,因而代码保护比较困难。当然,也有一些解决方案是将Web代码编译成二进制文件(如下图),但由于这方面没有业界规范,因而需要客户端支持该文件的解析,其通用性成问题。
目前PhoneGap之类的混搭应用模式(native+html5)大行其道,给了这种代码保护方法很好的生存环境。即:可以将负责解析经过加密或编译的Web代码与解析模块一起打包成Native应用。当然,最流行、折中的HTML5代码保护办法仍代码混淆,而由于应用的主要功能一般通过JS实现,因而这里主要介绍JS代码的混淆。代码混淆简单地说是对代码进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,但难以阅读。一般代码混淆器会将代码中的所有变量、函数、类的名称变为简短的英文字母代号,删去代码注释。
JS代码混淆器主要是主要分在线和离线两大类。一般开发者比较倾向离线代码混淆器(因为使用在线混淆器需要将代码提交到网站上),这里介绍几个比较不错的,供参考:
1.Jasob
网址:http://www.jasob.com/
功能强,能对Javascript、HTML、CSS文件进行混淆,可以选择变量的混淆程度等各种功能。当然也具有非常强的代码压缩能力。
但是,但是,是收费的共享软件,没用几天就过期了。。。
各位如果有免费使用的各种方法,别忘了和我分享。
2.Javascript Obfuscator
网址:http://www.javascript-source.com/javascript-obfuscator.html
支持JS混淆和代码压缩,简单好用。各种编码字符替换,混淆的代码更加晦涩。
但是、但是,也是收费的共享软件,而且不支持中文字符集,不知是否因为是试用版本。
3. YUI Compressor
网址:http://yuilibrary.com/projects/yuicompressor/
Yahoo出品的混淆压缩工具,据说jQuery就是用它混淆压缩的。免费、免费!
但是、但是,质量一般,还是用命令行的。 也有兄弟基于它做了可视化版本:
http://cloud.github.com/downloads/tinyms/jscompressor/JsCompressor.exe
不过无论是代码混淆还是编译,都是防君子不防小人。因为,即使JAVA、C#等编译型语言,都可以反编译出非常易读的代码。
参考资料:
http://labs.chinamobile.com/mblog/287_182024

如何保护javascript代码相关推荐

  1. 前端JavaScript代码混淆加密原理介绍

    因为JavaScript大都是运行在浏览器端,这就导致任何人都可以直接对网站的代码进行查看,如果代码没有进行任何处理就会导致直接暴露源码,他人便可轻而易举的复制你的劳动成果,但是由于没有纯粹的加密方案 ...

  2. 翻译-高质量JavaScript代码书写基本要点(转载)

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=1173 原文作者:S ...

  3. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会 ...

  4. 几维安全Javascript代码混淆(js加密)在线使用说明

    2019独角兽企业重金招聘Python工程师标准>>> 几维安全Javascript代码混淆是一项在线加密服务,用户只需将JS文件打包成zip包,提交到加密平台,即可完成代码混淆.字 ...

  5. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点(转)

    才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会 ...

  6. 编写高质量JavaScript代码绳之以法(The Essentials of Writing High Quality JavaScript)翻译...

    原文:The Essentials of Writing High Quality JavaScript 才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<Java ...

  7. 别问,问就是我差点在所有浏览器中注入 JavaScript 代码

     聚焦源代码安全,网罗国内外最新资讯! 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为 ...

  8. 2021年保护JavaScript的7个步骤

    点击上方关注 TianTianUp,一起学习,天天进步 大家好,我是TianTian. 今天分享的内容是如何保护JavaScript的安全性. 正文 今天,JavaScript的使用无处不在.它在你的 ...

  9. 如何编写高质量JavaScript代码

    书写可维护的代码(Writing Maintainable Code ) 软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软件中时.当 ...

最新文章

  1. halcon与QT联合:(5.4)瓶盖检测以及QT界面搭建
  2. 李彦宏:用“工程思维”做自动驾驶
  3. InnoDB,5项实践
  4. js和java中URI的编码和解码
  5. leetcode 189. 旋转数组
  6. 【echart数组数据】echarts两条或两条以上x轴不同的线合并x轴 含有不连续数据
  7. Linux下改动Oracle数据库字符集命令
  8. 查看nginx版本_2:快速搭建Nginx
  9. 《菜菜的机器学习sklearn课堂》学习笔记 + 课件
  10. 高德地图提前上线多条重要道路预通车机制不断成熟
  11. 算法导论第三版第二章答案
  12. JAVA 如何控制模拟表单提交_java后端模拟表单提交
  13. 【渝粤教育】电大中专新媒体营销实务 (2)_1作业 题库
  14. 2022年8月Python小屋编程比赛获奖名单(送5本书)
  15. 【无代码爬虫】web scraper 之 安装
  16. 面试了10几家公司后被怼,逼的我把源码都吃透了,最终成功入职阿里
  17. 谭的c语言,c语言 谭
  18. React前端性能提升长列表优化解决方案
  19. Scrapy第三(②)篇:创建scrapy项目
  20. 【FHQ Treap】洛谷P5055 【模板】可持久化文艺平衡树

热门文章

  1. flume介绍与原理
  2. linux 用户管理和帮助命令
  3. 一个工作了两三年程序员的学习计划
  4. python学习第29天
  5. 小明滚出---响应对象HttpServletResponse和请求对象HttpServletRequest实例
  6. 【JVM系列】一步步解析java执行内幕,java初级面试笔试题
  7. 选择排序:简单选择排序
  8. i = i+1 和 i += 1
  9. ModuleNotFoundError No module named urllib2
  10. 实际工程中加快 Java 代码编写的小提示