Наша компания имеет SOAP-Based WebService написанный на C# ASP.Net 4.Это хорошая практика, чтобы вернуть первоначальные запросы обратно в ответах
оригинальный разработчик оставил некоторое время назад, и, к сожалению, оставил его в крайне неаккуратно государство. Поддержание этого абсолютно кошмара, поэтому я занимаюсь рефакторингом.
По пути я заметил, что он закодирован ответы включить оригинальные запросы, включая имя пользователя и пароль для доступа к услуге (которые являются первым 2 параметром для всех веб-методов, которые существуют в этом API)
Поскольку я занимаюсь перестройкой инфраструктуры, я хотел спросить, знает ли кто-нибудь, является ли практика возвращения первоначального запроса нормальным?
Мне кажется, что проблема с безопасностью может случиться? Отправляют ли другие люди первоначальный запрос за вычетом информации о безопасности?
Примечание: Я знаю, что это наследие технологии, но, к сожалению, я не в состоянии переписать все это с нуля :-(
Спасибо, Гэри
.Пример (Soap XML для краткости опускаем):
REQUEST:
POST our-web-service/Products.asmx/Details
username=TEST_USER&password=TEST_PASSWORD&productId=12345
RESPONSE:
<Response IsValid="True">
<Product id="12345">
<Name>Test Product 1</Name>
<Category>General</Category>
....
</Product>
</Product>
<OriginalRequest>
<Username>TEST_USERNAME</Username>
<Password>TEST_PASSSWORD</Password>
<ProductId>12345</ProductId>
</OriginalRequest>
</Response>
ИМХО это бесполезно и опасно – giammin
Я бы видел только его использование в коде отладки, просто чтобы убедиться, что запрос интерпретируется так, как он должен был быть. Для производственного кода его действительно не должно быть. (Хотя, если его включение в ответ является угрозой безопасности, так оно и есть в запросе в первую очередь. Причина в этом пункте - безопасная ставка, что вы не используете SSL.: P Вы просто говорите клиент, что он уже знает ...) – cHao
@cHao Спасибо за это, я просто хотел получить некоторые внешние мнения по этому поводу. И только FYI производственный API работает исключительно на https –