在Chrome扩展程序中解决X-Frame-Options DENY问题?

我是Intab的作者,这是一个Chrome扩展程序,可让您查看内联链接而不是新标签。幕后没有什么花哨的事情,它只是一个iframe,可加载用户单击的URL。

除了将X-Frame-Options标头设置为DENY或SAMEORIGIN的网站外,它的工作原理非常好。一些非常大的网站(例如Google和Facebook)都使用它,这给人带来了一些混乱的体验。

有什么办法可以解决这个问题?由于我使用的是Chrome扩展程序,因此我可以访问哪些浏览器级别的内容可能会有所帮助?寻找任何想法或帮助!

回答:

Chrome提供了webRequest用于拦截和修改HTTP请求的API。您可以删除X-Frame-Options标头以允许在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']

);

在清单中,您需要指定webRequestwebRequestBlocking权限,以及您打算拦截的URL模式。

以上是 在Chrome扩展程序中解决X-Frame-Options DENY问题? 的全部内容, 来源链接: utcz.com/qa/433273.html

回到顶部