Как защитить параметры пароля в URI веб-службы RESTful? - PullRequest
6 голосов
/ 26 апреля 2010

Я новичок в программировании на стороне сервера, поэтому, пожалуйста, прости меня, если это станет грязным. со мной был заключен контракт на создание веб-службы, позволяющей аутентифицированным пользователям получать доступ к базе данных. пользователи должны ввести логин и пароль. читал и читал о REST против SOAP, и я подумал, что остановился на RESTful-дизайне, когда натолкнулся на следующее утверждение: «Данные, которые должны быть безопасными, не следует отправлять в качестве параметров в URI» это кажется серьезным недостатком подхода RESTful. я знаю, что с https пароль будет зашифрован для предотвращения перехвата «человек посередине», но это оставляет журналы сервера и историю клиента в качестве возможных точек воздействия. Есть ли RESTful решение для этой проблемы, или мне нужно пойти SOAPy? Любой совет приветствуется.

Ответы [ 3 ]

1 голос
/ 26 апреля 2010

Я думаю, что для того, чтобы действительно быть RESTful, вы должны использовать HTTP-аутентификацию (базовую или дайджест), поскольку принудительный вход в систему не соответствует духу REST.

Хотелось бы, чтобы это было подтверждено (или опровергнуто) кем-то, кто хорошо знает REST.

1 голос
/ 26 апреля 2010

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

0 голосов
/ 26 апреля 2010

Это проблема с настройкой вашего веб-сервера, а не с вашим приложением. Неправильные конфигурации могут привести к уязвимости, и это хороший пример этого. Веб-серверы также могут регистрировать POST-запросы, и это часто случается, если брандмауэр веб-приложений обнаруживает атаку. Я хотел бы убедиться, что ведение журнала отключено в Apache, потому что это, вероятно, не требуется для правильной работы вашего приложения.

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

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