index.js
702 Bytes
module.exports = function xXssProtection (options) {
options = options || {}
var headerValue = '1; mode=block'
if (options.reportUri) {
headerValue += '; report=' + options.reportUri
}
if (options.setOnOldIE) {
return function xXssProtection (req, res, next) {
res.setHeader('X-XSS-Protection', headerValue)
next()
}
} else {
return function xXssProtection (req, res, next) {
var matches = /msie\s*(\d+)/i.exec(req.headers['user-agent'])
var value
if (!matches || (parseFloat(matches[1]) >= 9)) {
value = headerValue
} else {
value = '0'
}
res.setHeader('X-XSS-Protection', value)
next()
}
}
}