gpt4 book ai didi

javascript - 当代码无论如何都可用时,Javascript 中的 eval 真的存在安全风险吗?

转载 作者:行者123 更新时间:2023-12-02 18:23:49 25 4
gpt4 key购买 nike

当我在当前的代码中使用 evals 时,我最终看到了这个问题。

Why is using the JavaScript eval function a bad idea?

当浏览器中有 javascript 代码时,您可以将 javascript 作为 HTML 的一部分或作为单独的文件下载。源代码可供任何人查看和修改。我不认为通过 eval() 进行的注入(inject)攻击会比黑客攻击源代码并改变源代码以达到攻击者想要的效果更糟糕。

有人可以解释一下我缺少什么吗?或者在某些情况下,评估是危险的,这无法(轻松)通过更改源代码来实现。

最佳答案

在 Javascript 注入(inject)攻击的情况下,您不必担心浏览器用户提供不受信任的代码。您担心来自其他地方的代码。例如,如果您从第三方网站下载数据并eval它,则该代码将在用户页面的上下文中执行,并且可能会利用用户的数据做坏事。因此,您相信第三方不会向您发送恶意 JS。

当然,我们经常这样做——我们中的许多人链接到 Google 或 Microsoft CDN 以获取 jQuery 和其他库。这些都是知名站点,我们选择信任它们以获得性能优势。但随着网站变得越来越不可信,您必须更加小心,而不能盲目执行他们发送给您的任何内容。

在某种程度上,跨站点 AJAX 规则限制了该第三方代码可能造成的损害。这些浏览器更改的实现正是因为 XSS 攻击正在执行,并将用户私有(private)数据发送给攻击者。但 eval 仍然允许某些类型的恶意软件,因此您在使用它时必须小心。

关于javascript - 当代码无论如何都可用时,Javascript 中的 eval 真的存在安全风险吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18573888/

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