यह त्रुटि संदेश उस सुविधा से आ रहा है जिसे HTTP होस्ट हेडर के हमलों से बचाने के लिए Drupal 8 में जोड़ा गया था । फ़ीचर को उस परिवर्तन रिकॉर्ड में भी वर्णित किया गया है जो पैच के लिए उत्पन्न किया गया था।
अनिवार्य रूप से, नापाक उद्देश्यों के लिए HTTP होस्ट हेडर को बिगाड़ना और ड्रुपल को कई सबसिस्टम (विशेष रूप से लिंक पीढ़ी) में एक अलग डोमेन नाम का उपयोग करने के लिए धोखा देना संभव था । दूसरे शब्दों में, HTTP होस्ट हेडर को उपयोगकर्ता इनपुट माना जाना चाहिए, और विश्वसनीय नहीं।
इससे निपटने के $settings['trusted_host_patterns']
लिए, "विश्वसनीय" होस्टनाम की एक सूची को कॉन्फ़िगर करने के लिए Drupal 8 में एक नई सेटिंग, जोड़ी गई थी जो साइट से चल सकती है। सेटिंग को नियमित अभिव्यक्ति पैटर्न की एक सरणी होने की आवश्यकता है, बिना सीमांकक के, उन होस्टनामों का प्रतिनिधित्व करने से जिन्हें आप चलाने की अनुमति देना चाहते हैं।
उदाहरण के लिए, यदि आप किसी एकल होस्टनाम "www.example.com" से अपनी साइट चला रहे हैं, तो आपको इसे अपनी सेटिंग्स में जोड़ना चाहिए (आमतौर पर पाया जाता है ./sites/default/settings.php
):
$settings['trusted_host_patterns'] = array(
'^www\.example\.com$',
);
नोट ^
, \.
, और $
। ये PCRE सिंटेक्स हैं । इनका मतलब यह है कि आप "www.example.com" से सटीक रूप से मेल खाना चाहते हैं, शुरुआत और अंत में कुछ भी अतिरिक्त नहीं है, और यह कि डॉट्स को डॉट्स के रूप में माना जाना चाहिए, न कि वाइल्डकार्ड वर्णों के साथ।
यदि आप "example.com" से भाग रहे हैं, तो बस उपयोग करें:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
);
यदि आपको कई डोमेन और / या उप-डोमेन की साइट चलाने की आवश्यकता है, और विहित URL पुनर्निर्देशन नहीं कर रहे हैं, तो आपकी सेटिंग कुछ इस तरह दिखाई देगी:
$settings['trusted_host_patterns'] = array(
'^example\.com$',
'^.+\.example\.com$',
'^example\.org',
'^.+\.example\.org',
);
यह साइट को example.com और example.org के सभी वेरिएंट को बंद करने की अनुमति देता है, जिसमें सभी उप-डोमेन शामिल हैं।
एक बार जब आप $settings['trusted_host_patterns']
उचित मूल्य पर समायोजित हो जाते हैं, तो आपको अपनी साइट पर फिर से ब्राउज़ करने में सक्षम होना चाहिए।
आप अपनी विश्वसनीय होस्ट सेटिंग की स्थिति रिपोर्ट पृष्ठ से भी देख सकते हैं, जो कि व्यवस्थापक / रिपोर्ट / स्थिति पर है
यदि आप सेटिंग को पूरी तरह से हटा देते हैं, तो विश्वसनीय होस्ट तंत्र का उपयोग नहीं किया जाएगा, और आपको स्थिति रिपोर्ट पृष्ठ पर एक त्रुटि दिखाई देगी। इसके अतिरिक्त, आपकी साइट HTTP होस्ट हेडर हमलों के लिए भी असुरक्षित हो सकती है।
यदि आपके पास यह सेटिंग कॉन्फ़िगर है और इस संदेश को देख रहे हैं, तो इसका मतलब है कि आपने नियमित अभिव्यक्ति सिंटैक्स को गड़बड़ कर दिया है। इस स्थिति में, पहला उदाहरण लें, और अपनी सेटिंग्स में कॉपी / पेस्ट करें, और फिर इसे होस्टनाम को प्रतिबिंबित करने के लिए संपादित करें जिससे आपकी साइट चलती है।