Как передать данные из приложения facebook на мой сервер (через Ajax)? - PullRequest
0 голосов
/ 07 августа 2011

(Поскольку Facebook отказывается от FBML и FBJS, я не могу использовать эти подходы для передачи данных на мой сервер).

У меня есть IFRAME приложение Facebook , в основном построенный для использования на страницах.

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

Я использую PHP SDK Facebook на стороне сервера.для декодирования подписанного запроса и получения идентификатора страницы.

Ниже приведен код в index.php моего приложения для отправки данных на мой сервер (наряду с пользовательским вводом,Идентификатор страницы также будет передан, здесь не показан)

function sendData() {
    $.post('ajax.php', {
        data : $("#userdata").val()
    }, function(data) {
        alert(data);
    });
}
</script>

Ниже приведен простой скрипт ajax.php.На данный момент это всего лишь тестовый сценарий.

<code><?php
echo "<pre>" . print_r($_POST) . "
";?>

Проблема в том, что на сервер отправляются только пользовательские данные. В этом проблема безопасностиЯ хочу отправить 'signature_request' (который facebook изначально отправляет на мой index.php, используя который я проверяю запрос) вместе с пользовательскими данными, чтобы я мог проверить запрос со стороны сервера иОбновите информацию для нужной страницы. Иначе любой может опубликовать запрос, подобный этому, и обновить информацию для любой страницы.

firebug image

1 Ответ

1 голос
/ 14 августа 2011

Все, что вам нужно сделать, это также использовать PHP PHP SDK в вашем серверном ajax-скрипте, а затем вы можете проверить, что запрос был отправлен кем-то с действительным сеансом Facebook, который авторизовал ваше приложение.

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

Например, при отправке запроса на сервер отправьте идентификатор страницы вместе с зашифрованным ключом, полученным из идентификатора страницы (сохраняйте этот зашифрованный ключ в скрытом поле при отображении самого себя).На сервере расшифруйте этот ключ, чтобы он соответствовал идентификатору страницы.Таким образом, вы можете быть уверены, что администраторы страниц изменяют информацию только для «своих» страниц.

...