Обработайте сообщение об ошибке проверки от ASP.NET веб-службы, использующие C#
У меня есть несколько веб-сервисов (. asmx), которые были разработаны давным-давно, и теперь инструмент IBM обходит наши веб-сервисы в поисках любых нарушений безопасности.
Как создавались Мои сервисы?
- > Для всех веб-методов не реализована логика проверки.
- > Веб-методы ожидают хороших значений, поэтому никакой реализации проверки безопасности нет.
Как работает IBM tool
-> Когда инструмент вводит какое-то случайное значение в параметр метода, он выдает код состояния 500.
-> моя работа здесь заключается в том, чтобы показать какое-то общее сообщение(например, произошла ошибка), а не выбрасывать 500.
Подход
- > Я должен создать класс проверки, который будет содержать всю логику проверки и ограничит ввод вредоносных данных в код.
-> Я должен перейти к каждому методу, чтобы выполнить проверку параметров, и мне нужно отправить сообщение об ошибке проверки, если какая-либо проверка не удалась.
У кого-нибудь есть идея, как я могу проверить методы так, чтобы не нужно было переходить к каждому методу, или это тот подход, которому я должен следовать?
Примечание: шаблон проверки данных параметров может варьироваться в зависимости от требования, например, если у нас есть 2 строковых параметра, но мы не можем проверить их с помощью одной логики, у них могут быть разные правила приема данных со стороны пользовательского интерфейса.
Есть идеи, есть предложения, как этого добиться?
Что я уже пробовал:
Я создал библиотеку, которая может проверять все параметры, но мы должны вызывать методы библиотеки проверки в каждом веб-методе. Есть ли какой-нибудь способ добиться этого в глобальном масштабе?
F-ES Sitecore
В чем проблема с возвратом кода состояния 500? Как еще вызывающие приложения узнают, что метод потерпел неудачу?
ZurdoDev
Я не уверен, что все так просто, как ты говоришь. Ошибка 500 возникает еще до того, как ваш код веб-сервиса будет выполнен, поэтому включение проверки в эти методы ничего не даст.
Prafulla Sahu
Спасибо за ваши ответы, но команда безопасности предлагает проверить валидацию, если она не работает, а затем показать какое-то общее сообщение вместо ошибки 500. Бьюсь головой, как это реализовать.