Мне нужно проверить ввод пользователя для href
на стороне сервера и убедиться, что в качестве протокола разрешены только http://
и https://
(если они вообще указаны). Цель состоит в том, чтобы устранить возможные вредоносные действия.код типа javascript:...
или что-нибудь подобное.
Что затрудняет, так это количество способов, которыми двоеточие может быть закодировано в такой строке, например, :
, :
, :
, :
, :
.Я хотел бы преобразовать значение и увидеть его так, как это делают браузеры, прежде чем они отрисовывают страницу.
Одним из вариантов может быть создание документа DOM с использованием AngleSharp, поскольку он отлично справляется с работой при разборе атрибутов.Тогда я мог бы извлечь значение и проверить его, но кажется несколько излишним создание целого дерева DOM только для анализа одного значения.Есть ли способ использовать AngleSharp для анализа только значения атрибута?Или есть ли библиотека, которую я мог бы использовать только для этой задачи?
Я также нашел этот вопрос , но используемый там метод на самом деле не анализирует URI, как это делают браузеры.