У меня есть приложение, которое позволяет пользователям создавать заметки с заголовками. Он использует эти заголовки как часть URL-адреса самой заметки, чтобы сделать URL-адреса более удобочитаемыми.
Я пытаюсь разработать наилучший способ как для дезинфекции ввода, так и для обратной связи с пользователем о том, что он мог ввести, что является незаконным.
Пока я думаю, что буду использовать захват и сохранение ввода. Обрежьте его и передайте в encodeURIComponent. Я бы передал вывод этого в decodeURIComponent. Результат decodeURIComponent будет отличаться от исходного ввода, если это не то же самое, что и ошибка. Пользователь будет предупрежден о том, что нельзя использовать символы, не соответствующие diff.
Что-то явно не так с этим подходом? Есть ли способ лучше?