我相信socket.io有一个XSS漏洞,我想知道如何解决这个问题.
请参阅我的关于pubsub redis的文章,其中socket.io有一个/ XSS漏洞.
来自redis-cli的时候:
publish pubsub "<script>alert('Hello world!');</script>"
Run Code Online (Sandbox Code Playgroud)
您将看到一个警告对话框,Hello world!
其中有BAD ...
为了解决这个问题,我从visionmedia的jade库中复制了以下代码片段并想知道这是否足够?
/**
* 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, '"');
}
Run Code Online (Sandbox Code Playgroud)
这还不够,还是我错过了什么?也许甚至在socket.js里面解决问题?
归档时间: |
|
查看次数: |
3911 次 |
最近记录: |