我将使用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 name
和email
,那么我在控制台中调用上面的Ajax调用函数,它仍在运行并登录。这真可怕啊......
那么,我可以采取什么行动?