2016-09-09 9 views
0

У меня есть приложение, которое позволяет пользователям создавать заметки с заголовками. Он использует эти заголовки как часть URL-адреса самой заметки, чтобы сделать URL-адреса более удобочитаемыми.как проверить и деактивировать ввод произвольного ввода строки, который будет использоваться как часть URL-адреса

Я пытаюсь разработать наилучший способ как дезинфицировать входные данные, так и предоставлять пользователям обратную связь о том, что они могли бы сделать незаконным.

До сих пор я думаю, что буду использовать захват и хранить входные данные. Обрежьте его и передайте его encodeURIComponent. Я передал бы результат этого в decodeURIComponent. Результат decodeURIComponent будет отличаться от исходного ввода, если не тот же, у нас есть ошибка. Пользователь будет предупрежден о том, чтобы не использовать символы, не соответствующие разности.

Что-то явно не так с этим подходом? Есть ли способ лучше?

+0

Звуки о правильном :) –

ответ

1

Этот подход достаточно хорош, но отображать «проблемные области» для пользователя, показывая символы, которые не соответствуют разностим, определенно являются толчком для их планирования более направленной, целенаправленной атаки. Не четко указывать, что запрещено; пользователи узнают о новых методах обхода и понимания вашего текущего черного списка и могут планировать более целенаправленную атаку.