当前位置:网站首页 > Vue.js开发 > 正文

跨域解决方案js(nginx跨域解决方案)



js加密,是前端很常见的需求。

常见的方法是用jshamanjsjiami.online等进行js代码混淆加密。

是否有其的方案呢?比如:我们能否自己开发一种前端浏览器语言,取代js(将js代码,转化为自己独特的语言,从而让他人看不懂),以此实现变相的js代码加密。

以此思路,下面进行尝试和研究。

有一个符合这个想法的脚本,名为livescript,也可以在前端执行。



它的代码形式如下:



执行输出:



这个小众的语言,语法与js是有不小差异的。如果大量的这种代码出现在前端,替代js,实现各种功能,貌似是具备了加密的效果。

例如,这陌生的语法,js程序员看着肯定是一脸懵:



而且,还有方法可以实现javascript与livescript语法转换:



目前为止,似乎是OK的:将js转化为livescript,然后再发布。

那么livescript这种语法在浏览器中是怎么被执行的呢?

经简单分析得知,livescript在浏览器中执行前,会进行编译



其中的output变量看起来有些可疑,在此加一句console.log,输出,看看它是什么:



执行:



果然如此,livescript编译是把它自定义的语法转化成了js代码(livescript代码被还原为了js代码)。

这就解释的通了,理论也就正确了:js当然是可以被浏览器执行的。

livescript脚本最终会被转化成js代码。所以,它与aaencode、jjencode、jsf∪ck等类似,可以视作一种编码

由于能被轻易还原为js代码,所以,并不具备很强的加密效果。如果想加密js代码

,防止代码被分析、复制、盗用,还是远远不及js混淆加密工具的(jshaman、jsjiami.online等正统js混淆加密工具)。

或者有人会说,如果livescript代码它没有还原为js,而是直接执行,可能吗?

可能性比较小,这里可以联想到wasm(WebAssembly,非指汇编语言)。如果想让代码直接被执行,而不是转成js代码,就需要有一个“执行器”,浏览器是只给js准备了执行器,livescript想直接执行,就得像wasm一样也开发自己的执行器,这是个巨的大工程了,还得兼容所有js语法、还得长期随js更新而更新(因为此处的场景要转js为livescript,这是本文讨论的应用点),综合考虑到这些,这个方案不太可行:自创一种前端语言,替代js,以实现代码加密不可行。无论是转为js执行,还是自己写执行器,都不可行。

到此这篇跨域解决方案js(nginx跨域解决方案)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 卡巴斯基更新源(卡巴斯基7.0)2024-12-12 15:09:05
  • vuejs插槽(vue3.0 插槽)2024-12-12 15:09:05
  • map转json数组(map转json字符串)2024-12-12 15:09:05
  • de4dot反编译vue(vue 反编译)2024-12-12 15:09:05
  • 卡巴斯基7.0激活码(卡巴斯基永久激活)2024-12-12 15:09:05
  • vue2关闭eslint(vue 关闭eslint)2024-12-12 15:09:05
  • cjson(CJSON遍历json所有节点)2024-12-12 15:09:05
  • dos2unix安装包(如何安装dos6.22)2024-12-12 15:09:05
  • redhat6.6安装教程(redhat6.0安装)2024-12-12 15:09:05
  • auto可以说明全局变量吗(autojs定义全局变量)2024-12-12 15:09:05
  • 全屏图片