倒底需不需要对JS代码加密?前端无安全?所以忽视前端安全吗?

倒底需不需要对JS代码加密?前端无安全?所以忽视前端安全吗?

关于网页JS代码要不要混淆加密,有人说:“前端无安全、加密没用、加密了只要别人肯花时间最终也差不多能被逆向,等等,所以JS代码不用保护”。这样的看法对吗?

从原理上说,确实这种说法似乎是正确的:混淆加密的JS代码,只要别人肯花时间慢慢研究,终究是能分析个差不多,终究。没错的。比如:借助ida工具,exe文件也能反汇编,也能慢慢分析代码逻辑。只是,时间、技术能力消耗的不同,同理。

但巨大的差异也正是”时间成本“,比如JS源码功能,如果直接是明文代码,可能3分钟能理解,如果是经过了混淆加密保护,则可能需要3小时、3天、3个月,甚至更久。这已经会劝退很多技术能力一般的”他人“,特别是,如果逆xiang分析花的时间如何比直接开发还久,那别人还不如自己开发呢。

而如果有能力者,很可能不屑于逆分析、搬运他人的源码。而且逆分析po解行为还可能触犯法律(特别是商用代码),聪明人也会回避这一风险。

所以,对于JS代码,混淆加密一下,提升了安全性、还显的提升了安全意识、怎么看也比透明发布更好啊。

那么,基于上述种种,对JS代码进行混淆加密再发布,个人也以为是个很优的选择,不太理解为什么有人持排斥的态度。

当然,如果代码是完全不重要的、完全无关紧要的,那倒也可以不必,毕竟混淆加密操作一下也是需要花几分钟时间的,呵呵。

(注:开源产品也不需要...)

此外,有人可能疑虑,混淆加密的JS代码还能正确使用吗?会不会混淆加密一下就坏掉?

显然多虑了,JS混淆加密工具也早是成熟的行当了,比如JShaman、JsJiaMi.online、JS-Obfuscator等等,圈内这些知名的产品已经存在很多年,足够成熟稳定,放心的用就是了。

嗯...总结:总之,我们公司的JS代码,公司明文规定,发布前是一定要混淆加密的。可能这就是安全意识吧,保护一下没坏处,但把源码发布出去那就是让别人随便copy、随便用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值