Я пытаюсь остановить XSS-атаку, поэтому я использую html agility pack для создания своего белого списка и библиотеку Microsoft Anti-Cross Site Scripting для работы с остальными.
Теперь я смотрю на кодирование всех html hrefs,Я получаю большую строку HTML-кода, который может содержать ссылки.Согласно MS Library, они имеют кодировку URL, но если вы кодируете весь URl, то он не может быть использован.Таким образом, в примере они просто кодируют строку запроса
UrlEncode Ненадежный ввод используется в URL (например, значение в строке запроса). Нажмите здесь!
http://msdn.microsoft.com/en-us/library/aa973813.aspx
Итак, теперь мои вопросы: как мне разобрать href и найти строку запроса.Это всегда просто "?"затем запросить строку или она может содержать пробелы и быть написана по-разному?
Редактировать
Эти URL будут написаны не мной, а пользователями, которые будут ими делиться.Вот почему мне нужен способ убедиться, что я получаю все строки запроса, а не только строки в правильном формате.Если это может работать в недопустимом формате, я должен взять эти тоже.Хакерам все равно, будет ли это действительный формат или нет, если он все еще делает то, что хочет.