gpt4 book ai didi

客户端的 JavaScript eval() 用于运行不受信任的代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:43:36 24 4
gpt4 key购买 nike

我一直在审查我能找到的关于在 JavaScript 网页客户端使用 eval() 的安全影响的线程。

我正在实现一个网站,它应该允许用户运行他们自己的代码(写在页面上)并在同一页面的另一个 div 上看到一些视觉结果。

本质上,我希望用户能够编写有效的 JavaScript 代码,并让它在同一页面上操作 Canvas 。

无需对代码进行服务器端评估。

我看过 Jailed 和 Caja,但我认为它们可能增加了不必要的额外复杂性。

我知道正确做这种事情的方法是在一个“沙箱”中,它无法访问我的代码库的其余部分,但是,我的需求是这样的,我无法真正定义一个提供安全入口/导出点的简单 API...我希望用户能够使用任何 JavaScript 代码,并且我不想编写提供 API 的解释器。

鉴于不需要服务器端评估,并且应该只有一个用户在网络 session 中执行他们自己的代码,使用 eval() 是否安全?

最佳答案

如果您的逻辑中没有路径允许一个人发布代码供其他人使用,那么您可以按原样使用 eval()

您的情况与任何拥有浏览器和开发工具的用户没有任何不同,他/她可以在其中运行他们想要的任何代码。

关于客户端的 JavaScript eval() 用于运行不受信任的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623149/

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