Size: a a a

Scala User Group

2020 February 03

NV

Nikita Vilunov in Scala User Group
Alexey Otts
Демагогия пошла
Я искренне пытаюсь понять в чем отличие бизнесовой валидации от не бизнесовой
источник

AO

Alexey Otts in Scala User Group
Sergey Alaev
нет таких полей, ну или почти нет. строковые поля всегда должны иметь ограничение по длине и часто - по регулярке. числовые - почти всегда по диапазону. исключений очень, очень мало.
Всего то различные идентификаторы и флаги
источник

NV

Nikita Vilunov in Scala User Group
Телефон — это обычное дата-поле с четко определенным форматом по регулярке
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
Всего то различные идентификаторы и флаги
ну да, булеан можно не валидировать). а идентификаторы валидировать надо
источник

AO

Alexey Otts in Scala User Group
Sergey Alaev
ну да, булеан можно не валидировать). а идентификаторы валидировать надо
У них обычно нет ограничений, как прикажешь проверять? Максимум UUID можно проверить
источник

SA

Sergey Alaev in Scala User Group
Nikita Vilunov
Я искренне пытаюсь понять в чем отличие бизнесовой валидации от не бизнесовой
Легко. небизнесовая валидация - это прежде всего устойчивость и безопасность приложения. защита от бомбления огромными кусками данных, защита от мусора и разнообразных injections - sql, html, logging
источник

AT

Aλeksei Tereχin in Scala User Group
ну вообще парсинг должен защищать от инжекций
источник

NV

Nikita Vilunov in Scala User Group
Sergey Alaev
Легко. небизнесовая валидация - это прежде всего устойчивость и безопасность приложения. защита от бомбления огромными кусками данных, защита от мусора и разнообразных injections - sql, html, logging
Ну это тоже не так
источник

AT

Aλeksei Tereχin in Scala User Group
блин нет, я не хочу принимать в этом участие.
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
У них обычно нет ограничений, как прикажешь проверять? Максимум UUID можно проверить
100% - длину, отсутствие контрольных символов (< 0x20), отсутствие юникода. Это всё может быть вектором атаки
источник

SA

Sergey Alaev in Scala User Group
Nikita Vilunov
Ну это тоже не так
разверни мысль?
источник

NV

Nikita Vilunov in Scala User Group
Sergey Alaev
разверни мысль?
Не, я сваливаю из дискуссии, сорямба
источник

SA

Sergey Alaev in Scala User Group
по-моему в неинтеллигентных кругах это называется "слился"
источник

AO

Alexey Otts in Scala User Group
Sergey Alaev
100% - длину, отсутствие контрольных символов (< 0x20), отсутствие юникода. Это всё может быть вектором атаки
Вектор который уже учтен в jdbc?
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
Вектор который уже учтен в jdbc?
между апи и jdbc может находиться логгирование, рендер хтмл и внешние сетевые вызовы) и jdbc защищает только от первого варианта - ограничение по длине
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
Олег, я чуть выше всё изложил. декларативное объявление ограничений на поля, аккумулирующий валидатор, объект ошибки содержит сообщение, текст ошибочного поля, полный путь к ошибочнуму полю от корня дерева объектов
Интересно, понятно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
Олег, я чуть выше всё изложил. декларативное объявление ограничений на поля, аккумулирующий валидатор, объект ошибки содержит сообщение, текст ошибочного поля, полный путь к ошибочнуму полю от корня дерева объектов
А как выглядит декларация?
источник

SA

Sergey Alaev in Scala User Group
Oleg ℕizhnik
Интересно, понятно
а вы как валидируете? у вас разве нет таких требований для публичных апи?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Она соединена с определением данных?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
а вы как валидируете? у вас разве нет таких требований для публичных апи?
Кидаем ошибки
источник