我如何阻止客户端从控制台调用Ajax函数

时间:2019-03-27 21:47:40

标签: javascript jquery ajax security

我正在研究一个项目,出于多种原因,我决定使用AJAX执行提交表单,并且我具有此功能;

我尝试从浏览器的控制台调用delete(someid)函数,该函数可以正常工作;现在这是一个安全问题;

我该如何实现?

下面是说明它的代码段;

function delete(someid) {
    $.ajax({
        type: 'POST',
        url: 'delete',
        data: {
            id: 'someid'
        }
    });
}

1 个答案:

答案 0 :(得分:3)

  

我试图从浏览器的控制台中调用delete(someid)函数,现在该方法已成为安全问题

这不是客户端的安全问题。据我所知,没有办法禁止人们使用控制台调用针对您的API使用的javascript,即使有可能,也有100多种不同的方法来解决这个问题。

为此,安全问题将来自服务器/ api端,在使用服务器端代码进行任何形式的实际删除之前,您应该检查请求。

  

伙计们..所以我看到的安全性问题是,如果有任何用户可以调用具有给定id的delete函数,该函数将从具有给定id的数据库中删除一个人

这将是服务器端的问题。您需要对用户进行某种授权。一个答案是一个相当广泛的话题。

通常情况下,流程是用户向服务器发出删除请求,服务器将为用户发送请求提供某种信息(例如ID),然后服务器将检查并查看是否具有该ID的用户可以从数据库中删除用户。