Jika saya membuat yang iframe
seperti ini:
var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({
Bagaimana saya bisa memperbaiki kesalahan:
Menolak untuk ditampilkan
'https://www.google.com.ua/?gws_rd=ssl'
dalam bingkai karena mengatur 'X-Frame-Options' ke 'SAMAORIGIN'.
dengan JavaScript?
sumber
X-Frame-Options
adalah tajuk yang disertakan dalam respons terhadap permintaan untuk menyatakan jika domain yang diminta akan memungkinkan dirinya untuk ditampilkan dalam bingkai. Itu tidak ada hubungannya dengan javascript atau HTML, dan tidak dapat diubah oleh pencetus permintaan.Situs web ini telah menetapkan tajuk ini untuk melarangnya ditampilkan di
iframe
. Tidak ada yang dapat dilakukan klien untuk menghentikan perilaku ini.Bacaan lebih lanjut tentang X-Frame-Options
sumber
Jika Anda mengendalikan Server yang mengirimkan konten iframe, Anda dapat mengatur pengaturan
X-Frame-Options
di server web Anda.Mengkonfigurasi Apache
Untuk mengirim header X-Frame-Options untuk semua halaman, tambahkan ini ke konfigurasi situs Anda:
Mengkonfigurasi nginx
Untuk mengkonfigurasi nginx untuk mengirim header X-Frame-Options, tambahkan ini ke konfigurasi http, server atau lokasi Anda:
Tidak ada konfigurasi
Opsi tajuk ini bersifat opsional, jadi jika opsi ini tidak disetel sama sekali, Anda akan memberikan opsi untuk mengonfigurasikannya ke instance berikutnya (mis. Browser pengunjung atau proxy)
sumber: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
sumber
add_header Strict-Transport-Security "max-age=86400; includeSubdomains"; add_header X-Frame-Options DENY;
dari nginx-snippets, dan kemudian langsung bekerja.Karena solusinya tidak benar-benar disebutkan untuk sisi server:
Kita harus mengatur hal-hal seperti ini (contoh dari apache), ini bukan opsi terbaik karena memungkinkan dalam segala hal, tetapi setelah Anda melihat server Anda bekerja dengan benar Anda dapat dengan mudah mengubah pengaturan.
sumber
tidak terlalu ... saya menggunakan
sumber
dan jika tidak ada yang membantu dan Anda masih ingin menyajikan situs web itu dalam iframe, pertimbangkan untuk menggunakan Komponen Bypass X Frame yang akan menggunakan proxy.
sumber
Header respons HTTP X-Frame-Options dapat digunakan untuk menunjukkan apakah browser boleh atau tidak merender halaman dalam
<frame>
,<iframe>
atau<object>
. Situs dapat menggunakan ini untuk menghindari serangan clickjacking, dengan memastikan bahwa konten mereka tidak tertanam ke situs lain.Untuk Informasi Lebih Lanjut: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Saya punya solusi alternatif untuk masalah ini, yang akan saya tunjukkan dengan menggunakan PHP:
iframe.php:
target_url.php:
sumber
Untuk tujuan ini, Anda harus mencocokkan lokasi di apache atau layanan lain yang Anda gunakan
Jika Anda menggunakan apache maka dalam file httpd.conf.
sumber
Solusinya adalah dengan menginstal plugin browser.
Situs web yang menerbitkan HTTP Header
X-Frame-Options
dengan nilaiDENY
(atauSAMEORIGIN
dengan asal server yang berbeda) tidak dapat diintegrasikan ke dalam IFRAME ... kecuali Anda mengubah perilaku ini dengan menginstal plugin Browser yang mengabaikanX-Frame-Options
Header (mis. Header Frame X Abaikan Chrome ).Perhatikan bahwa ini tidak direkomendasikan sama sekali untuk alasan keamanan.
sumber
Anda dapat mengatur opsi x-frame-dalam konfigurasi web dari situs yang ingin Anda buka iframe seperti ini
sumber
Anda tidak dapat benar-benar menambahkan x-iframe di tubuh HTML Anda karena harus disediakan oleh pemilik situs dan itu berada dalam aturan server.
Apa yang mungkin dapat Anda lakukan adalah membuat file PHP yang memuat konten URL target dan iframe URL php itu, ini harus bekerja dengan lancar.
sumber
Anda dapat melakukannya di tomcat instance level config file (web.xml) perlu menambahkan 'filter' dan filter-mapping 'di file konfigurasi web.xml. ini akan menambahkan [X-frame-options = DENY] di semua halaman karena merupakan pengaturan global.
sumber
Jika Anda mengikuti pendekatan xml, maka kode di bawah ini akan berfungsi.
sumber