| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- /* global WIKI */
 
- /**
 
-  * Security Middleware
 
-  *
 
-  * @param      {Express Request}   req     Express request object
 
-  * @param      {Express Response}  res     Express response object
 
-  * @param      {Function}          next    next callback function
 
-  * @return     {any}               void
 
-  */
 
- module.exports = function (req, res, next) {
 
-   // -> Disable X-Powered-By
 
-   req.app.disable('x-powered-by')
 
-   // -> Disable Frame Embedding
 
-   if (WIKI.config.security.securityIframe) {
 
-     res.set('X-Frame-Options', 'deny')
 
-   }
 
-   // -> Re-enable XSS Fitler if disabled
 
-   res.set('X-XSS-Protection', '1; mode=block')
 
-   // -> Disable MIME-sniffing
 
-   res.set('X-Content-Type-Options', 'nosniff')
 
-   // -> Disable IE Compatibility Mode
 
-   res.set('X-UA-Compatible', 'IE=edge')
 
-   // -> Disables referrer header when navigating to a different origin
 
-   if (WIKI.config.security.securityReferrerPolicy) {
 
-     res.set('Referrer-Policy', 'same-origin')
 
-   }
 
-   // -> Enforce HSTS
 
-   if (WIKI.config.security.securityHSTS) {
 
-     res.set('Strict-Transport-Security', `max-age=${WIKI.config.security.securityHSTSDuration}; includeSubDomains`)
 
-   }
 
-   // -> Prevent Open Redirect from user provided URL
 
-   if (WIKI.config.security.securityOpenRedirect) {
 
-     // Strips out all repeating / character in the provided URL
 
-     req.url = req.url.replace(/(\/)(?=\/*\1)/g, '')
 
-   }
 
-   return next()
 
- }
 
 
  |