使用Facebook JavaScript SDK进行授权时,请避免使用手动Ajax调用

时间:2016-12-21 06:03:24

标签: javascript ajax facebook facebook-login

我将使用Facebook JS SDK将用户登录到我的网站。

    function myLogin(){
        FB.api('/me',{fields: 'name,email'}, function(response) {
          if(response.email){

              //Ajax call function
              jQuery.ajax({ 
                  url: 'inc/social_logins/fb/account_auth.php',
                  type: "POST",
                  data: { func: 'nac', name: response.name, email: response.email},
                  success:function(data) {
                     if(data == 1){
                        window.location = "user_dashboard.php"; 
                     }
                  }
               });
               //Ajax call function ends

        }
    }

在ajax请求之上调用account_auth.php并检查与email相关联的帐户是否附带FB授权。如果FB授权返回true,它将在以下逻辑中运行myLogin()

 function statusChangeCallback(response) {
    if (response.status === 'connected') {
        qksellLogin();
    } 
  }

一切正常,并在FB登录弹出窗口关闭后重定向到私人仪表板区域。

我想要做的是,阻止未经授权的用户进行手动Ajax请求。

让我们说如果我可以伪造响应对象并添加别人的FB nameemail,那么我在控制台中调用上面的Ajax调用函数,它仍在运行并登录。这真可怕啊......

那么,我可以采取什么行动?

0 个答案:

没有答案