Pesan kesalahan ini berasal dari fitur yang ditambahkan ke Drupal 8 untuk melindungi terhadap serangan header HTTP Host . Fitur ini juga dijelaskan dalam catatan perubahan yang dibuat untuk tambalan.
Pada dasarnya, itu mungkin untuk menipu header HTTP Host untuk tujuan jahat, dan menipu Drupal agar menggunakan nama domain yang berbeda di beberapa subsistem (terutama pembuatan tautan). Dengan kata lain, tajuk Host HTTP harus dianggap sebagai input pengguna, dan tidak dapat dipercaya.
Untuk mengatasi hal ini, pengaturan baru,, $settings['trusted_host_patterns']
ditambahkan ke Drupal 8 untuk mengonfigurasi daftar nama host "tepercaya" tempat situs itu dapat dijalankan. Pengaturan perlu berupa array pola ekspresi reguler, tanpa pembatas, yang mewakili nama host yang ingin Anda jalankan.
Misalnya, jika Anda menjalankan situs Anda dari satu hostname "www.example.com", maka Anda harus menambahkan ini ke pengaturan Anda (biasanya ditemukan di ./sites/default/settings.php
):
$settings['trusted_host_patterns'] = array(
'^www\.example\.com$',
);
Perhatikan ^
, \.
, dan $
. Ini adalah Sintaks PCRE . Ini hanya berarti bahwa Anda ingin mencocokkan "www.example.com" dengan tepat, tanpa tambahan di awal dan akhir, dan bahwa titik-titik tersebut harus diperlakukan sebagai titik dan bukan karakter wildcard.
Jika Anda menjalankan dari "example.com", gunakan saja:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
);
Jika Anda perlu menjalankan situs beberapa domain dan / atau subdomain, dan tidak melakukan pengalihan URL kanonik, maka pengaturan Anda akan terlihat seperti ini:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
'^.+\.example\.com$',
'^example\.org',
'^.+\.example\.org',
);
Ini memungkinkan situs untuk menjalankan semua varian dari example.com dan example.org, dengan semua subdomain disertakan.
Setelah Anda menyesuaikan $settings['trusted_host_patterns']
dengan nilai yang tepat, Anda harus dapat menjelajah ke situs Anda lagi.
Anda juga dapat memeriksa status pengaturan host tepercaya Anda dari halaman laporan status, yaitu di admin / laporan / status
Jika Anda menghapus pengaturan sama sekali, mekanisme host tepercaya tidak akan digunakan, dan Anda akan melihat kesalahan pada halaman laporan status. Selain itu, situs Anda mungkin juga rentan terhadap serangan header HTTP Host.
Jika Anda telah mengonfigurasi pengaturan ini dan melihat pesan ini, mungkin itu berarti Anda telah mengacaukan sintaks ekspresi reguler. Dalam hal ini, ambil contoh pertama, dan salin / tempel ke pengaturan Anda, lalu edit untuk mencerminkan nama host tempat situs Anda berasal.