Questo messaggio di errore proviene da una funzionalità che è stata aggiunta a Drupal 8 per proteggere dagli attacchi di intestazione dell'host HTTP . La funzione è anche descritta nel record delle modifiche che è stato generato per la patch.
In sostanza, è stato possibile falsificare l' intestazione dell'host HTTP per scopi nefasti e indurre Drupal a utilizzare un nome di dominio diverso in diversi sottosistemi (in particolare la generazione di collegamenti). In altre parole, l'intestazione dell'host HTTP deve essere considerata input dell'utente e non attendibile.
Per contrastare questo, una nuova impostazione è $settings['trusted_host_patterns']
stata aggiunta a Drupal 8 per configurare un elenco di nomi host "attendibili" da cui il sito può essere eseguito. L'impostazione deve essere una matrice di schemi di espressioni regolari, senza delimitatori, che rappresentano i nomi host da cui si desidera consentire l'esecuzione.
Ad esempio, se stai gestendo il tuo sito da un singolo nome host "www.example.com", allora dovresti aggiungere questo alle tue impostazioni (di solito si trovano in ./sites/default/settings.php
):
$settings['trusted_host_patterns'] = array(
'^www\.example\.com$',
);
Si noti la ^
, \.
e $
. Queste sono sintassi PCRE . Ciò significa solo che si desidera abbinare "www.example.com" in modo preciso, senza nulla in più all'inizio e alla fine, e che i punti devono essere trattati come punti e non caratteri jolly.
Se si esegue da "esempio.com", utilizzare semplicemente:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
);
Se devi eseguire un sito con più domini e / o sottodomini e non stai eseguendo il reindirizzamento canonico degli URL, le tue impostazioni saranno simili a queste:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
'^.+\.example\.com$',
'^example\.org',
'^.+\.example\.org',
);
Ciò consente al sito di esaurire tutte le varianti di example.com ed example.org, inclusi tutti i sottodomini.
Una volta regolato $settings['trusted_host_patterns']
sul valore corretto, dovresti essere in grado di navigare nuovamente sul tuo sito.
Puoi anche controllare lo stato delle impostazioni dell'host attendibile dalla pagina del rapporto sullo stato, che si trova in admin / reports / status
Se si rimuove completamente l'impostazione, il meccanismo host attendibile non verrà utilizzato e verrà visualizzato un errore nella pagina del rapporto sullo stato. Inoltre, il tuo sito potrebbe anche essere vulnerabile agli attacchi dell'intestazione dell'host HTTP.
Se hai configurato questa impostazione e visualizzi questo messaggio, probabilmente significa che hai incasinato la sintassi delle espressioni regolari. In questo caso, prendi il primo esempio e copia / incolla nelle impostazioni, quindi modificalo per riflettere il nome host da cui viene eseguito il tuo sito.