Я работаю над интерфейсом webservice + AJAX, и я беспокоюсь об аутентификации. В этот момент я передаю имя пользователя и пароль веб-сервису в качестве аргументов, но я боюсь, что этот подход крайне небезопасен. Мне сказали, что ssl может решить мою проблему, но мне нужно больше альтернатив.
Мой веб-сервис написан на php, а мой интерфейс находится в php + AJAX. Webservice получает аргументы от POST или GET и возвращает xml (в будущем, возможно, я буду использовать JSON)
Запрос AJAX не отличается от обычного запроса.
Поскольку у вас есть интерфейс AJAX, я предполагаю, что у вас может быть страница, где пользователи будут входить в систему. Когда они регистрируются в cookie в браузере. Этот файл cookie может быть отправлен обратно с каждым запросом AJAX.
Ваш PHP-скрипт может «аутентифицировать» запрос AJAX с использованием файла cookie в точности так же, как и с обычными запросами.
Существуют различные стандарты, такие как ws-trust, ws-security, ws-федерация и т. Д., На которые вы могли бы положиться, чтобы обеспечить безопасность ваших веб-сервисов.
Вы также можете подписывать заголовки мыла, содержащие информацию о безопасности.
В следующем блоге подробно описывается механизм аутентификации для веб-сервисов, использующих php. http://phpwebservices.blogspot.com/
Если я понимаю вопрос, у вас есть 1) сообщения AJAX для PHP, 2) PHP вызывает веб-сервис. У вас должен быть сертификат SSL для шага 1. Для шага 2 сертификат SSL на машине веб-службы также будет защищен. Альтернативой было бы создание защищенной VPN между веб-сервером и сервером веб-службы.
SSL с учетными данными пользователя примерно так же безопасен, как вы можете получить. Вы должны определить, что касается вашей безопасности. Что пакет пользователя будет обнюхивать? Для этого нужен SSL. Что неавторизованный пользователь получит доступ? Это будет зависеть от безопасности паролей.
Одна вещь, которую вы можете сделать, – это создать систему аренды, в которой вы передаете уникальный зашифрованный идентификатор, который должен быть передан в сообщение, и который истекает после транзакции или через короткий промежуток времени. Этот код аренды можно извлечь в скрытый div на странице (чтобы избежать проблем с песочницей выше), а затем вставляться в каждый последующий запрос Ajax.