Mengelakkan X-Frame-Options DENY dalam Sambungan Chrome melalui Manipulasi API Penyemak Imbas
Banyak tapak web menggunakan pengepala X-Frame-Options untuk menghalang kandungan mereka daripada dibenamkan dalam iframe. Ini menimbulkan cabaran untuk sambungan Chrome seperti Intab, yang bergantung pada iframe untuk memaparkan kandungan terpaut sebaris.
Untuk menangani isu ini, sambungan boleh memanfaatkan API webRequest yang disediakan oleh Chrome untuk memintas dan mengubah suai permintaan HTTP. Dengan menyasarkan subframe (iframes) dan mengalih keluar pengepala X-Frame-Options, sambungan boleh memintas sekatan ini.
Berikut ialah coretan kod yang menunjukkan cara untuk mencapai ini:
chrome.webRequest.onHeadersReceived.addListener( function(info) { // Remove the X-Frame-Options header for (var i = info.responseHeaders.length - 1; i >= 0; --i) { if (info.responseHeaders[i].name.toLowerCase() === 'x-frame-options' || info.responseHeaders[i].name.toLowerCase() === 'frame-options') { info.responseHeaders.splice(i, 1); } } // Return the modified headers return { responseHeaders: info.responseHeaders }; }, { // Intercept all subframes urls: ['*://*/*'], types: ['sub_frame'] }, [ 'blocking', 'responseHeaders', // Extra headers are required for modern Chrome versions chrome.webRequest.OnHeadersReceivedOptions.EXTRA_HEADERS ].filter(Boolean) );
Untuk mendayakan fungsi ini, manifes sambungan harus mengisytiharkan kebenaran webRequest dan webRequestBlocking, bersama-sama dengan URL yang sambungan akan memintas (cth., ":///*" untuk semua URL).
Atas ialah kandungan terperinci Bagaimanakah Sambungan Chrome Boleh Memintas X-Frame-Options MENAFIKAN Menggunakan API webRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!