gpt4 book ai didi

javascript - 检查 javascript 源是否使用了禁止的函数

转载 作者:行者123 更新时间:2023-11-28 20:42:24 25 4
gpt4 key购买 nike

我想在网站上运行用户提供的 javascript,但在此之前,我需要(从算法上)检查提供的 javascript 源是否遵循一组规则(例如,不使用 eval() 函数,不使用 setTimeout()/setInterval( )函数等)。

此外,检查来源是否有效是一件好事。工具可以是任何东西,因为是在服务器端执行的。您有任何对此可能有用的想法吗?

编辑:代码将在 Web Worker 环境中执行

最佳答案

仅通过扫描源代码无法判断脚本是否将使用禁止的函数。您可以更改脚本执行的环境。

您所做的不是简单的文本搜索。 JavaScript 是一种非常动态的语言,您可以有效地调用“禁止”函数,而无需在源代码中找到该函数的名称!

window['e'+'v'+'a'+'l']

也不可能简单地执行脚本并跟踪访问哪些函数,因为您无法访问所有代码路径。

要禁止使用特定函数,您必须在不存在这些函数的沙箱中运行代码。

关于javascript - 检查 javascript 源是否使用了禁止的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14132489/

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