Аутентификация веб-сервиса

Я работаю над интерфейсом webservice + AJAX, и меня беспокоит аутентификация. В этот момент я передаю имя пользователя и пароль веб-сервису в качестве аргументов, но я боюсь, что этот подход очень небезопасен. Мне сказали, что мою проблему может решить ssl, но мне нужны другие альтернативы.

Мой веб-сервис написан на php, а мой интерфейс - на php + AJAX. Веб-сервис получает аргументы от POST или GET и извлекает xml (в будущем, возможно, я буду использовать JSON)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
5 935
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Если я понимаю вопрос, у вас есть 1) сообщения AJAX на PHP, 2) PHP вызывает веб-службу. У вас должен быть сертификат SSL для шага 1. Для шага 2 сертификат SSL на компьютере веб-службы также будет безопасным. Альтернативой может быть установка безопасной VPN между веб-сервером и сервером веб-службы.

Ответ принят как подходящий

Запрос AJAX ничем не отличается от обычного запроса.

Поскольку у вас есть интерфейс AJAX, я думаю, у вас может быть страница, на которой пользователи входят в систему. Когда они входят в систему, сохраняют cookie в браузере. Затем этот файл cookie можно отправлять обратно с каждым запросом AJAX.

Ваш PHP-скрипт может «аутентифицировать» запрос AJAX с помощью файла cookie точно так же, как и с обычными запросами.

будь осторожен. Некоторые версии IE «песочница» AJAX-запроса с главной страницы. Тогда куки недоступны ...

Pierre-Yves Gillier 27.11.2008 18:46

@ Pierre-YvesGillier, похоже, проблема, о которой вы говорите, возникает только в том случае, если сайт находится в iframe. И есть обходной путь.

stivlo 11.12.2011 17:07

Существуют различные стандарты, такие как ws-trust, ws-security, ws-federation и т. д., На которые вы можете положиться для защиты своих веб-сервисов.

Вы также можете подписать свои заголовки мыла, содержащие информацию о безопасности.

В следующем блоге подробно описаны различные механизмы аутентификации для веб-сервисов с использованием php. http://phpwebservices.blogspot.com/

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

Одна вещь, которую вы можете сделать, - это настроить систему аренды, в которой вы раздаете уникальный зашифрованный идентификатор, который должен быть передан в сообщении и срок действия которого истекает после транзакции или через короткий период времени. Этот код аренды можно получить в скрытом div на странице (чтобы избежать проблемы с песочницей, описанной выше), а затем вставить в каждый последующий запрос Ajax.

Другие вопросы по теме