Похоже, что Vee-validate подтверждает адрес электронной почты с угрозой XSS - требуется ли дополнительная санитария? - PullRequest
1 голос
/ 25 июня 2019

Я использую vee-validate в приложении vue для проверки правильности ввода адреса электронной почты, за исключением того, что я заметил, что он проверяет этот адрес:

enter image description here

как истина.

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

Я протестировал некоторые валидаторы электронной почты на скрипке, и все они, похоже, аннулировали вышеуказанный адрес электронной почты. к сожалению, vee-validate проверяет адрес. (Я использую обязательные | правила электронной почты).

это ошибка со стороны vee-validate или я ее неправильно внедряю? было бы неплохо, если бы vee-validate предотвратил XSS с помощью правила проверки электронной почты.

как предотвратить XSS через ввод по электронной почте, следует ли санировать ввод электронной почты после проверки подлинности?

1 Ответ

1 голос
/ 26 июня 2019

Vee-validate использует другую библиотеку для обработки проверки адресов электронной почты ( validator.js ). Этот валидатор в основном соответствует спецификации RFC2822 для адресов электронной почты ... И строки в кавычках почти все разрешены этим.

Мне кажется, что vee-validate здесь правильно делает.

Как правило, вы хотите защищаться от XSS-атак на вашем бэкэнде. Любой настоящий хакер не будет использовать ваш сайт для генерации атак на сервер. Они будут использовать свои собственные инструменты, чтобы вводить любые данные и загружать их на сервер.

Хорошее эмпирическое правило на стороне сервера заключается в удалении всего, что выглядит как тег HTML, из всего пользовательского ввода. Вы найдете библиотеки на каждом сервере, чтобы справиться с этим. Например, я использую perl и запускаю весь пользовательский ввод через библиотеку HTML :: Restrict .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...