Справка по обратному вызову кнопки «Мне нравится» на Facebook - PullRequest
2 голосов
/ 03 июня 2011

Я использую этот код для facebook как обратный вызов:

           <script type="text/javascript">
                FB.Event.subscribe('edge.create', function(response) {
                  // php script to call via ajax
                });
           </script>

Проблема в том, что если я вызываю скрипт php (например, http://www.test.com/addfacebook?id=xx&user=xxx&code=xxxx)), кто-то может увидеть мой javascript и запустить эту страницу и даже спамить его или использовать без первого.

Концепция заключается в том, что я хочу дать уникальный код скидки для каждого пользователя, которому нравится страница. Поэтому при обратном вызове я хочу сохранить в базе данных и идентификаторе, настоящее имя пользователя из Facebook и код скидки, который я для него создал.

Как это сделать, чтобы кто-то не мог переопределить это (как это JavaScript)?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Вы можете использовать PHP SDK для проверки токена, упомянутого Джои, когда у вас есть токен на сервере, используйте что-то вроде этого:

$facebook = new Facebook(); // Replace the line with the call that sets the app id and secret
$user = $facebook->api('/me',array('access_token',$_GET['access_token']));

Затем проверьте значение в $ user

0 голосов
/ 03 июня 2011

Самый простой способ понять, что вы делаете, - убедиться, что пользователь является законным.Я хотел бы, чтобы у вашего действия ajax были параметры, которые включают FacebookID и access_token.Это не позволит никому играть в вашу систему.

Поскольку вы используете FB JS SDK, просто вызовите API следующим образом:

FB.getLoginStatus(function (loginResponse) {
            FB.api('/me', function (graph) {
                var token = loginResponse.session.access_token;
                var fbid = loginResponse.session.uid;
        } else {
            // no user session available, someone you dont know
        }
    });

Я бы положил это в вашFB.Event.subscribe и использовать токен и fbid vars соответственно.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...