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 -
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
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())