solucion sameorigin habilitar deny because allow all javascript iframe google-chrome-extension x-frame-options

javascript - sameorigin - Moverse por X-Frame-Options ¿DENY en una extensión de Chrome?



x-frame-options nginx (1)

Chrome ofrece la API webRequest para interceptar y modificar solicitudes HTTP. Puede eliminar el encabezado X-Frame-Options para permitir insertar páginas dentro de un iframe.

chrome.webRequest.onHeadersReceived.addListener( function(info) { var headers = info.responseHeaders; for (var i=headers.length-1; i>=0; --i) { var header = headers[i].name.toLowerCase(); if (header == ''x-frame-options'' || header == ''frame-options'') { headers.splice(i, 1); // Remove header } } return {responseHeaders: headers}; }, { urls: [ ''*://*/*'' ], // Pattern to match all http(s) pages types: [ ''sub_frame'' ] }, [''blocking'', ''responseHeaders''] );

En el manifiesto, debe especificar los webRequest y webRequestBlocking , más los patrones de las URL que tiene la intención de interceptar.

Soy el autor de Intab , una extensión de Chrome que le permite ver un enlace en línea en lugar de una pestaña nueva. No hay mucho más sofisticado detrás de las escenas, es solo un iframe que carga la URL en la que el usuario hizo clic.

Funciona muy bien, excepto en los sitios que configuran el encabezado X-Frame-Options como DENY o SAMEORIGIN. Algunos sitios realmente grandes como Google y Facebook lo usan, lo que lo convierte en una experiencia un poco aburrida.

¿Hay alguna forma de evitar esto? Como uso una extensión de Chrome, ¿hay algún elemento del navegador al que pueda acceder que pueda ser útil? ¡Buscando ideas o ayuda!