Javascript 关于html DOM事件的安全问题
首先,这可能是一个新手的愚蠢问题 我正在用Laravel开发一个web应用程序,但最终使用了大量的Jquery/javascript。我试图在开发过程中考虑所有可能的安全风险,但我对这个主题研究得越多,就越担心Jquery/javascript的使用。似乎使用Jquery/javascript动态加载内容总体上是一个非常糟糕的主意……但我不想重做所有事情,因为这将需要花费数周的时间来额外开发已经开发的内容。一个简单的例子 假设我有一个方法连接到我的div,就像这样Javascript 关于html DOM事件的安全问题,javascript,jquery,security,Javascript,Jquery,Security,首先,这可能是一个新手的愚蠢问题 我正在用Laravel开发一个web应用程序,但最终使用了大量的Jquery/javascript。我试图在开发过程中考虑所有可能的安全风险,但我对这个主题研究得越多,就越担心Jquery/javascript的使用。似乎使用Jquery/javascript动态加载内容总体上是一个非常糟糕的主意……但我不想重做所有事情,因为这将需要花费数周的时间来额外开发已经开发的内容。一个简单的例子 假设我有一个方法连接到我的div,就像这样 <div class="
<div class="img-container" id="{{$file->id}}" onmouseover="showImageButtons({{$file->id}})"></div>
当我在浏览器中打开它时,我能够通过chrome inspector更改发送到javascript的参数值
当它被执行时,我可以看到“一些恶意代码”被打印到控制台上。
如果我使用该参数对服务器进行ajax调用会怎么样?会过去吗?
有什么东西我不懂还是很容易操纵? < P>有两个基本方面需要考虑的Web安全性-< /P>
安全性不是在客户端完成的,而是在服务器端完成的。假设您从客户端获得的每一条数据都是恶意的。相应地编码。是;您永远不能信任来自客户端的任何内容(无论使用AJAX)。您可以对
$file->id
进行编码,以便其中的任何恶意内容都不会执行()。这不会阻止用户操作DOM,但我认为您真正关心的是PHP变量的值。如果用户在自己的浏览器上输入了一些恶意代码,这对其他任何人来说都无关紧要。我想到的另一个问题是,服务器的响应是否可以被中断和操纵。例如,我调用ajaxget方法,在控制器中,我返回一个视图,然后使用$('#someComponent').html(response)将此响应放置为html。在服务器响应中间和客户端实际接收到响应变量时,该响应变量可以改变吗?
function showImageButtons(id)
{
console.log(id);
}