Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何避免登录用户通过控制台使用ajax?_Javascript_Ajax_Security_Websecurity - Fatal编程技术网

Javascript 如何避免登录用户通过控制台使用ajax?

Javascript 如何避免登录用户通过控制台使用ajax?,javascript,ajax,security,websecurity,Javascript,Ajax,Security,Websecurity,我使用这个ajax函数将eccommerce站点中的产品插入数据库 我发现这种方法非常不安全,一些有编程知识的经验丰富的用户可以使用这种ajax和insert产品,或者其他一些东西 我在别人的帖子中读到,有人建议使用带有令牌的隐藏输入字段作为解决方案,但正如我所说的,一些有编程知识的有经验的用户会找到它 是否有一些真正的方法可以使这个“添加产品”功能安全,而不必在每次插入时刷新页面 $(document).on('click','#save',function(e) { var vi

我使用这个ajax函数将eccommerce站点中的产品插入数据库

我发现这种方法非常不安全,一些有编程知识的经验丰富的用户可以使用这种ajax和insert产品,或者其他一些东西

我在别人的帖子中读到,有人建议使用带有令牌的隐藏输入字段作为解决方案,但正如我所说的,一些有编程知识的有经验的用户会找到它

是否有一些真正的方法可以使这个“添加产品”功能安全,而不必在每次插入时刷新页面

$(document).on('click','#save',function(e) {
      var vidArt = $(".imagepreview").attr('value');

      $.ajax({
             data: {idArt: vidArt},
             type: "POST",
             url: "classes/add_to_cart.php",
             success: function(data){

             }
    });
 });

无论您设计的API是供Ajax使用还是供整个新页面加载使用,这都无关紧要。HTTP请求是HTTP请求,人们可以发出他们喜欢的任何HTTP请求

无法确保HTTP请求来自您编写的代码。

然而,这并不重要。如果您打算让用户使用您设计的用户界面将\u添加到\u购物车,那么如果他们使用自己设计的用户界面将\u添加到\u购物车,为什么要担心呢


如果您想施加限制(例如“只能添加名称中带有X的产品”),则使用服务器端代码而不是用户界面施加这些限制。

无论您是将API设计为供Ajax使用还是供整个新页面加载使用。HTTP请求是HTTP请求,人们可以发出他们喜欢的任何HTTP请求

无法确保HTTP请求来自您编写的代码。

然而,这并不重要。如果您打算让用户使用您设计的用户界面将\u添加到\u购物车,那么如果他们使用自己设计的用户界面将\u添加到\u购物车,为什么要担心呢


如果要施加限制(例如“只能添加名称中带有X的产品”)然后使用服务器端代码而不是用户界面来施加这些限制。

问题与ajax本身无关:有一定知识的用户也可以通过使用浏览器的开发工具来调用服务器,以便在需要的时候重复请求(开发工具只是一个示例)。您应该从服务器端妥善处理此类问题—该问题与ajax本身无关:具有一定知识的用户也可以通过使用浏览器的开发工具来调用您的服务器,以便在需要时重复请求(开发工具只是一个示例)。您应该在服务器端处理此类问题