Drupal8:如何修复可信主机设置上的错误?

时间:2017-05-10 18:25:37

标签: drupal-8

我使用Drupal8配置错误如下:

受信任的主机设置 未启用 在settings.php中未配置trusted_host_patterns设置。这可能会导致安全漏洞。强烈建议您配置它。

我已经修复了本地错误,将代码置于本地setting.php:

$ settings [' trusted_host_patterns'] = array(    ' ^ Drupal的8-2-6.dd $&#39 ;,     ' ^本地主机&#39 ;,   );

但是我无法在托管setting.php时修复此错误,所以我尝试了不同的尝试,如下所示 (假设sf-我的域名和dr31 -is, 所以上网是www.dr31.sf.com):

$ settings [' trusted_host_patterns'] = array(   ' ^ $ www.dr31.sf.com&#39 ;, );

$ settings [' trusted_host_patterns'] = array(   ' ^ $ www.dr31.sf.com&#39 ;, );

$ settings [' trusted_host_patterns'] = array(   ' ^ $ www.sf.com&#39 ;, );

某些托管设置是否可能阻止其setup.php生效,结果是否会导致可信主机错误?

对于前。设置php.not 644但444的权限,甚至我在644回复到444时也改变了它。

我个人认为这对可信主机错误没有任何影响。 但是,如果我按照与本地主机上相同的模式没有错误,为什么我不能摆脱托管错误?

如何修复可信主机设置的错误?

感谢。

我试图按照建议进行更改(见下文),但它没有修复错误:

3 个答案:

答案 0 :(得分:0)

Drupal 8附带了一个默认(示例)设置文件,当您遇到类似这样的事情时,该文件非常有用。

此示例设置文件应位于以下位置:

sites/default/default.settings.php

这个文件通常评论很好,在尝试找出这样的问题时非常有用。

如果您特别关注可信主机模式示例,如果您只希望www.example.com可以访问您的网站,则会以此为例:

$settings['trusted_host_patterns'] = array(
  '^www\.example\.com$',
);

这与您说的使用的代码(^www.dr31.sf.com$)稍有不同,因为URL是通过正则表达式格式化的,您需要使用反斜杠转义句点。

但是,您可能希望可以在www.example.com以及example.com(或其他一些子域)上访问您的网站。如果是这种情况,您需要指定多个这样的网址:

$settings['trusted_host_patterns'] = array(
  '^example\.com$',
  '^.+\.example\.com$',
);

根据您的说法判断,我认为以下配置会为您解决此问题:

$settings['trusted_host_patterns'] = array(
  '^www\.dr31\.sf\.com$',
);

你也可以在这里使用更宽松的检查,但我认为以上是最合适的(因为它听起来并不像你使用Drupal来提供任何其他URL /子域的数据)。 / p>

正在更改的权限与您的问题无关 - 据我了解,Drupal会自动将这些权限重置为相当严格的设置,以确保您的网站安全。

希望有所帮助!

答案 1 :(得分:0)

以下建议的模式没有清除可信主机中的错误:

$ settings ['trusted_host_patterns'] = array(

'^ www.dr31.sf.com $',

);

我尝试了不同的组合,最终找到了有助于消除可信主机错误的解决方案。

我使用的代码并不完全遵循在setting.php中提供的代码,但它在可信主机中清除错误。

我已使用以下代码清除可信主机中的错误:

$ settings ['trusted_host_patterns'] = array(

'^ dr31.sf.com $', );

答案 2 :(得分:0)

对于drupal 9

$settings['trusted_host_patterns'] = [
'^localhost$',                              
'^192\.168\.00\.52$',
'^127\.0\.0\.1$',
];

我将 settings.php 文件的代码末尾移动了,这很好,它可能适用于所有drupal版本

settings.php 文件中有太多注释块(注释块以/ **开头,以* /结尾)。