Проблема безопасности при использовании Facebook JavaScript API в веб-приложении ASP.net - PullRequest
1 голос
/ 20 августа 2011

Я занимаюсь разработкой веб-приложения на ASP.net, которое позволяет пользователям входить в систему с помощью Facebook connect и использовать эти сервисы (например, опубликовать изображение или проголосовать за изображение).

Чтобы вести учет пользователяподключившись через Facebook, пользователь автоматически регистрируется, вставляя уникальный идентификатор пользователя (что-то вроде 632343, предоставленное Facebook) в базу данных.А остальные действия (например, публикация изображения или голосование за изображение) записываются по уникальному идентификатору пользователя.

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

Я использовал Facebook JavaScript SDK для этого сценария, пока не обнаружил, что произошла ошибка безопасности в том, что я делаю.Я на самом деле получаю userId текущего пользователя, подключенного к Facebook, а затем отправляю запрос на частичную страницу loadprofile.aspx? User = '', чтобы загрузить страницу личного профиля.Любой, кто знает идентификатор Facebook любого пользователя, может взломать страницу с помощью таких инструментов, как «Firebug for FireFox» или просто отправив запрос get на loadprofile.aspx? User = [идентификатор пользователя], и может получить личное содержимое этого пользователя.

Единственное решение, которое я могу найти, - это использовать API-интерфейс Graph и аутентифицировать пользователя на стороне сервера, чтобы получить userId, чтобы личная страница создавалась внутренне для текущего подключенного пользователя Facebook.

IЯ хотел бы спросить вас, ребята, есть ли еще безопасный способ сделать это с помощью Facebook JavaScript API, потому что я нахожу его простым в использовании.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 24 августа 2011

убедитесь, что вы загрузили javascript sdk с включенным OAuth, тогда для последующего запроса в запросе должен быть параметр кода.сравните его с проверенным кодом

, но, честно говоря, в качестве лучшей меры безопасности, обработка на стороне сервера предпочтительнее

...