"Facebook에 로그인"으로 첫 번째 애플리케이션을 구현하는 데 문제가 있습니다. 사용자는 내 시스템에 등록해야하지만 FB 계정을 연결할 수 있습니다. FB 계정이 연결되면 나는 페이스 북에서 사용자 이메일 주소를 저장한다.facebook API 로그인을 통한 보안
사용자가 "페이스 북으로 로그인"을 클릭하면 (페이스 북에 이미 로그인되어있는 것으로 간주 함) 프로필 이메일을 가져 와서 서버로 보내 전자 메일과 연결된 사용자가 있는지 확인합니다. 그러한 사용자가 존재하면 해당 사용자에 대한 세션을 만듭니다.
function login()
{
FB.api('/me',
function (user)
{
$.ajax(
{
url: "my_ajax_page.php",
type: "POST",
data: {controller: "MyController", action: "LinkEmail", fbmail: user.email},
success: function (response)
{
if(response == 1)
{
alert("Success!");
}
},
error: function()
{
alert("Error");
}
}
);
}
);
}
이 방법 큰 보안 결함이있다가, 누군가가 내 시스템에 전자 메일을 보내는 스크립트를 만들고 : 이 사용자의 전자 메일을 잡는 서버로 전송하기위한 코드입니다 이 '잘못된'전자 메일은 현재 로그인 한 사용자 계정에 연결됩니다.
function hacking()
{
$.ajax(
{
url: "my_ajax_page.php",
type: "POST",
data: {controller: "MyController", action: "LinkEmail", fbmail: '[email protected]'},
success:
function (response)
{
if(response == 1)
{
alert("Success!");
}
},
error: function()
{
alert("Error");
}
}
}
FB로 로그인하려면 어떤 방법을 사용할 수 있습니까?
내가 어떻게이 'signed__request'그것을 보내셨어요? 사용 방법에 대한 컨텍스트의 작동 예제가 있습니까? FB API는 어떻게 해독 할 것인가가 아니라 해독하는 방법을 보여줍니다. – IPValverde
서명 한 요청이 응용 프로그램에 전달 될 때 3 가지 세부 정보를 제공 한 링크. '$ _REQUEST [ 'signed_request']'변수를 검사해야합니다. – Lix
내 잘못, 알 겠어! 감사! – IPValverde