gpt4 book ai didi

javascript - 关于 html DOM 事件的安全问题

转载 作者:行者123 更新时间:2023-12-02 21:38:51 25 4
gpt4 key购买 nike

首先,所有这些可能是一个新手愚蠢的问题。

我正在使用 Laravel 开发一个 Web 应用程序,但最终使用了大量的 Jquery/javascript。在开发过程中,我尝试考虑所有可能的安全风险,但我对这个主题的研究越多,我就越担心 Jquery/javascript 的使用。看起来使用 Jquery/javascript 动态内容加载总体上是一个非常糟糕的主意...但我不想重新设计所有内容,因为这将需要对已开发的内容进行数周的额外开发。一个简单的例子假设我有一个方法附加到我的 div 上,如下所示

<div class="img-container" id="{{$file->id}}" onmouseover="showImageButtons({{$file->id}})"></div>

然后是 Javascript 的一部分

function showImageButtons(id)
{
console.log(id);
}

当我在浏览器中打开它时,我可以通过 Chrome 检查器更改发送到 JavaScript 的参数值。

from this

to this

它实际上被执行了,我可以看到“一些恶意代码”被打印到控制台。如果我使用该参数对服务器进行 ajax 调用会怎样?会通过吗?有什么我不明白的地方吗?或者这真的很容易操纵吗?

最佳答案

关于网络安全,您需要考虑两个基本方面 -

  1. 浏览器和服务器之间的连接应该是安全的(即 https),这样,假设您正确配置了服务器,没有人可以拦截客户端与服务器之间的通信,并且您可以通过 AJAX 共享数据。

  2. 在服务器端,您应该将来自客户端的信息视为敌对信息并对其进行清理;这是因为任何人都可以通过您的网页向您发送任何内容,即使您在客户端进行输入验证,因为您的 javascript 代码是由客户端执行的,因此攻击者完全控制。虽然单独在网页中植入“恶意代码”并不是真正的攻击,但如果攻击者让您将恶意代码存储在服务器中并将其发送到其他客户端,她就可以在您的其他客户端浏览器上运行她的 JavaScript,这很糟糕(查找“跨站点脚本/XSS”)。

关于javascript - 关于 html DOM 事件的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60421156/

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