Как я могу запретить сторонним приложениям получать доступ к данным на стороне сервера через запросы?

0

Я делаю онлайн-систему учетных записей пользователей для создания игры в Unity3d. Приложение Unity отправляет WWW-запросы в php файлы, и в результате некоторые действия выполняются, и приложение получает обратную связь.

Однако я заметил, что этот метод позволяет любому приложению отправлять эти запросы. Можно ли этого избежать? Является ли мой метод связи между клиентом и сервером испорченным?

Как я могу сделать это так, чтобы только мое приложение могло отправлять эти запросы?

Теги:
security
client-server

1 ответ

0

Найдите ключ сеанса (или sesskey).

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

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

  • 0
    Это имеет смысл, но что мешает клиенту прочитать этот ключ и использовать его в стороннем приложении, пока его сеанс все еще действителен?
  • 0
    На это нет простого ответа, и это зависит от того, как написан ваш код. Одно из правил, по которым я сам работаю, это «Никогда не доверяй клиенту», это означает, что каждый важный запрос проверяется на наличие разрешений и других ограничений на сервере. Это сделает ваш код немного более сложным, но более защищенным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню