web-dev-qa-db-fra.com

Comment définir X-Frame-Options dans express.js node.js

Je possède des actifs statiques que je souhaite diffuser dans des iframes de plusieurs clients Web de bureau/mobile.

Maintenant, comment ajouter à la liste blanche un ensemble spécifique d'origines pour autoriser la définition des en-têtes X-Frame-Options afin que la ressource puisse être incorporée comme des iframes dans différents clients Web de bureau/mobile. et pour toutes les autres origines, refuse l'accès à cette ressource.

En creusant un peu, j'ai commencé par -

const app = express();

var allowCrossDomain = function (req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization');
    if (req.method === "OPTIONS") res.send(200);
    else next();
}
app.use(allowCrossDomain);

Maintenant, ici, comment puis-je définir l'en-tête X-Frame-Options avec les valeurs d'origine sur liste blanche ici -

7
Harshit Laddha

Vous devez importer casque et utiliser frameguard pour obtenir certaines origines sur liste blanche. En savoir plus sur ce sujet: MDN X-FRAME-OPTIONSBest Practice Security

8
zivce

tout ce dont vous avez besoin est casque

npm install helmet --save 

const express = require('express')
const helmet = require('helmet')

const app = express()

app.use(helmet.frameguard())
1