Веб-вопрос безопасности относительно API - PullRequest
2 голосов
/ 29 ноября 2010

Я создаю API без аутентификации на стороне сервера.Для сеанса будет создан уникальный ключ (предположим, что он очень длинный и его невозможно угадать), но на клиенте не будет установлен файл cookie.Клиент может быть веб-браузером с AJAX, PHP-скриптом с использованием CURL или настольным приложением.Обычный процесс транзакции, который я представляю себе, будет следующим:

Первоначальная встреча

  1. Клиент делает первоначальный запрос, вызывая метод start_session
  2. Сервер генерирует ключи возвращает его вместе с некоторыми начальными данными
  3. Клиент сохраняет ключ для последующего использования (например, JavaScript устанавливает cookie с ключом)

Следующий запрос

  1. Клиент снова запрашивает сервер, вызывая некоторый метод set_data, предоставляя исходный ключ сеанса, а также загружает личные данные, такие как номер кредитной карты, информацию о судебных делах и т. Д.и отвечает сообщением об успешном выполнении

Другой запрос

  1. Клиент снова запрашивает сервер, предоставляя исходный ключ сеанса и вызывая некоторый метод get_data
  2. Сервер отвечает всеми личными данными в некотором формате (например, XML, JSON и т. Д.)

Срок действия ключа сеанса, если он не используется, истекает через 20 минут.tes и для всех URI API потребуется SSL .

Моя проблема / вопрос : нужно ли мне беспокоиться о том, что клиент утек сеансовый ключ.Без проверки подлинности я верю, что исходный запросчик сохранял секретный ключ сессии.Это обычная / безопасная практика?

1 Ответ

1 голос
/ 29 ноября 2010

Если вы не используете HTTPS повсюду, вы уязвимы для перехвата HTTP, a la Firesheep.

Eve, если вы используете SSL, если страница клиента не SSL илисодержит любой не-SSL Javascript (или не-SSL фреймы в том же домене), вы по-прежнему уязвимы (и вы ничего не можете с этим поделать)

Чтобы ответить на заданный вами вопрос, это полностью зависит от вашегоситуация.
РЕДАКТИРОВАТЬ : Вы должны предупредить своих клиентов (разработчиков) на странице документации о правильной обработке ключа.
Кроме того, это зависит от среднего уровня квалификации клиентов.
У вас, вероятно, должен быть какой-то отказ от ответственности (я не юрист).

Скорее всего, все в порядке.

...