Я занимаюсь разработкой веб-приложения для социальных сетей PHP, которое будет поддерживаться различными веб-сервисами, каждый из которых будет работать с REST API. Веб-сервисы, вероятно, будут реализованы в Java с уровнем данных MySQL, но вся суть того, что я пытаюсь сделать, - это действительно легко реализовать модули в разных языках/хранилищах данных в зависимости от того, что является approriate.
Так, например, когда пользователь регистрируется в приложении через форму входа, код PHP подключается к веб-службе и POSTs использует имя пользователя и пароль, чтобы проверить, должны ли они быть аутентифицированы. Обычно я на этом этапе начинаю сеанс и сохраняю его в хранилище данных сеанса.
Другим примером может быть, если пользователь отправляет личное сообщение другому пользователю. Сообщение будет отправлено на веб-службу приватного обмена сообщениями, которая будет заботиться обо всем хранилище. Аналогичным образом с веб-службой можно связаться для извлечения сообщений для пользователя.
Хотя я понимаю, как реализовать веб-службу REST в Java и установить соединение с ней в PHP, я совершенно не уверен в том, как защитить передаваемые данные и убедиться, что это возвращаемые данные пользователей. Если, например, я хочу получить все пользовательские личные сообщения, как известно веб-службе, чтобы вернуть этих пользователей. Я мог бы передать этот идентификатор пользователей как часть URL-адреса GET, но, конечно же, любой старый пользователь мог бы просто вычислить URL-адрес GET и использовать его для поиска сообщений других людей. Я думал, может быть, я могу передать идентификатор сеанса и IP-адрес, который позволит мне проверить хранилище данных сеанса и убедиться, что он правильный пользователь?
Чтобы защитить важные данные - например, имя пользователя/пароль, я думал, что просто передам его через SSL.
Надеюсь, это объяснит мою проблему лучше.
Спасибо