You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
744 B

  1. 'use strict'
  2. /* global app */
  3. /**
  4. * Security Middleware
  5. *
  6. * @param {Express Request} req Express request object
  7. * @param {Express Response} res Express response object
  8. * @param {Function} next next callback function
  9. * @return {any} void
  10. */
  11. module.exports = function (req, res, next) {
  12. // -> Disable X-Powered-By
  13. app.disable('x-powered-by')
  14. // -> Disable Frame Embedding
  15. res.set('X-Frame-Options', 'deny')
  16. // -> Re-enable XSS Fitler if disabled
  17. res.set('X-XSS-Protection', '1; mode=block')
  18. // -> Disable MIME-sniffing
  19. res.set('X-Content-Type-Options', 'nosniff')
  20. // -> Disable IE Compatibility Mode
  21. res.set('X-UA-Compatible', 'IE=edge')
  22. return next()
  23. }