Валидация





Paint + мышь. 2026 (нарисовано мышкой в Пэйнт ХР)
намедни, читая что-то там про критерии научности...





Paint + мышь. 2026 (нарисовано мышкой в Пэйнт ХР)
намедни, читая что-то там про критерии научности...
Изучаю вопрос валидации / экранирования / санитации ввода в цифровом продукте.
Все, что пишу ниже, пишу не с целью опрокинуть чье-то приложение или сайт, а с целью защитить ввод в своем приложении, которое разрабатываю как android разработчик.
Нужны мысли и мнения, какие символы и комбинации стоит экранировать на вводе, чтобы не упал json, а UI не плясал дикие пляски.
Пишу без примеров, так-как в Пакабе в опубликованном посте они прекрасно подчищаются.
Из того, что смог получить общаясь с нейросетью:
1. Bidi-управление - делает неожиданное поведение курсору при выделении, движении через символы.
Дописываю android приложение для художественных встреч 🎨 и сейчас провожу тестирование на прочность (отказоустойчивость + валидация ввода). Поучаствуйте, кому интересно.
Если можете/умеете как-то сломать приложение, нарушить его логику, то прошу поучаствовать.
Мне интересно:
1. Что и где отваливается, падает, криво отображается.
2. В каких случаях (что ввели, сколько, как).
Или просто пожамкайте кнопки, потыкайте списки, позаполняйте профиль или встречи.
В таком случае мне интересно:
1. На сколько интерфейс user-friendly
2. Нужно ли добавлять инструкцию, подсказки?
3. Если да, то куда?
https://play.google.com/store/apps/details?id=com.pavlovalex...
Недавно я пользовался одним из отечественных аналогов Notion и захотел изменить поддомен своего пространства. Логично было предположить, что это можно сделать в настройках.
В интерфейсе действительно оказалось поле с текущим поддоменом, но оно было недоступно для редактирования. Я решил, что поддомен задаётся только при регистрации и изменить его нельзя.
НО меня почему-то попёрло посмотреть исходных код страницы. Моё внимание привлёк HTML-тег input. Там я увидел примерно следующее:
<input type="text" id="subdomain" autocomplete="off" minlength="4" maxlength="32" readonly="" value="pankovri">
Ключевым оказался атрибут readonly. Я удалил его прямо в DevTools, изменил значение поля и нажал "Сохранить".
И... это сработало. Поддомен изменился, причём даже настроен редирект со старого на новый.
Я не до конца понял, было ли это ограничение связано с платной версией или просто служило защитой от массового изменения поддоменов.
Вывод: проверка данных должна проводиться не только на стороне клиента, но и на стороне сервера.
Телеграм — Frontend.school()