gpt4 book ai didi

javascript - 如何在 Javascript 中执行以 base64 编码的代码

转载 作者:行者123 更新时间:2023-12-05 01:43:41 24 4
gpt4 key购买 nike

我在 html 页面 (JavaScript) 中有这段代码:

<script>
var cox,d = 0;
Console.Log(cox,d);
</script>

现在我加密了[var cox,d = 0; Console.Log(cox,d);] 手动使用 base64 编码,结果如下:IHZhciBjb3gsZCA9IDA7DQogQ29uc29sZS5Mb2coY294LGQpOw==

我希望这个编码字符串(代码)可以由同一页面中的另一个 JavaScript 函数执行...示例:

<script>
var encoded = "IHZhciBjb3gsZCA9IDA7DQogQ29uc29sZS5Mb2coY294LGQpOw==";
var decodedString = atob(encoded);
/* Problem is here */
</script>

我想在 /* Problem is here */ ' 中执行 JavaScript 代码(上面编码)。

我该怎么办?

最佳答案

您可以使用 eval函数 (it is not recommended) ,但它解决了您的问题。

/* var cox,d = 0; console.log(cox,d); */
var encoded = "dmFyIGNveCxkID0gMDsgY29uc29sZS5sb2coY294LGQpOw==";
var decodedString = atob(encoded);


eval(decodedString);

另一种方法是使用 New Function constructor

/* var cox,d = 0; console.log(cox,d); */
var encoded = "dmFyIGNveCxkID0gMDsgY29uc29sZS5sb2coY294LGQpOw==";
var decodedString = atob(encoded);

var func = new Function(decodedString);
func();

*编码代码时,Console 和 Log 必须是小写的,而不是 ucfirst。

我不是安全专家,我真诚地建议您检查在您的应用中评估和执行此类功能的风险。

Here is an interesting answer关于evalnew Function

的区别

关于javascript - 如何在 Javascript 中执行以 base64 编码的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48624660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com