Saya mencoba membuat iframe dengan halaman drupal tetapi saya menerima pesan berikut:
Beberapa "Menolak untuk menampilkan (alamat halaman) dalam bingkai karena ini mengatur 'X-Frame-Options' ke 'SAMAORIGIN'."
Kemudian, saya mencoba mengubah tajuk respons di pengontrol halaman menggunakan
$response->headers->set('X-Frame-Options', 'GOFORIT');
Dan saya menerima pesan berikut
Beberapa 'X-Frame-Options' tajuk dengan nilai yang bertentangan ('GOFORIT, SAMAORIGIN') ditemui ketika memuat '(alamat halaman)'. Kembali ke 'DENY'.
Inti Drupal menempatkan kode berikut di semua respons.
$response->headers->set('X-Frame-Options', 'SAMEORIGIN', FALSE);
Jadi, bagaimana saya bisa menimpa header X-Frame-Options hanya untuk respon ini untuk menanamkan halaman ini di situs lain?
Saya menggunakan Drupal 8.0.0.
4k4 memberikan solusi hebat, tetapi juga mungkin
lebih baik dari pada
sumber
allow-from uri
sudah usang dan tidak lagi berfungsi di peramban modern. Hanya 2 opsi yang dimiliki tajuk ini saat inisameorigin
ataudeny
. X-Frame-Options MDNSangat mudah untuk menimpa header dari
.htaccess
dengan satu pernyataanAtau Anda dapat membuatnya hanya berlaku pada kondisi tertentu menggunakan ekspresi if pernyataan apache
dan kemudian Anda bisa memanggil URL Anda menambahkan
embed
dalam string kueri AndaAgar ini berfungsi, Anda perlu apache 2.4 atau lebih besar dan modul header diaktifkan. Jika tidak diaktifkan, Anda mungkin dapat mengaktifkannya dengan
sumber
Sekarang ada modul yang dapat diunduh untuk Drupal 8: Konfigurasi X-Frame-Options
sumber
Untuk browser yang lebih baru,
ALLOW-FROM uri
-settings tidak akan berfungsi lagi, lihat "allow-from uri (usang)" - bagian di https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame- PilihanAnda perlu menambahkan
$response->headers->set('Content-Security-Policy', 'frame-ancestors https://ALLOWED.SITE/');
selain apa yang diusulkan wakh.ru:$response->headers->set('X-Frame-Options', 'ALLOW-FROM https://ALLOWED.SITE/');
sumber