Socket.io имеет уязвимость XSS? Как решить это?
Вопрос
Я считаю, что Socket.io имеет уязвимость XSS, и мне интересно, как решить это.
Смотрите мой пост о Pubsub Redis с socket.io который имеет a/xss dole.
от Redis-Cli, когда вы делаете:
publish pubsub "<script>alert('Hello world!');</script>"
Вы увидите диалог предупреждения с Hello world!
который ПЛОХО...
Чтобы решить это, я скопировал следующий фрагмент из Джейд -Библиотеки VisionMedia и задаваясь вопросом, достаточно ли этого?
/**
* Escape the given string of `html`.
*
* @param {String} html
* @return {String}
* @api private
*/
function sanitize(html){
return String(html)
.replace(/&(?!\w+;)/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"');
}
Этого достаточно или я что -то упускаю? Может быть, даже внутри Socket.js, чтобы решить проблему?
Решение
Eсть валидатор узел Библиотека, которая обеспечивает методы дезинфекции для XSS.
Не связан с StackOverflow