跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页
  2. Drupal 8的全能指南

可信主机设置

由 hrs, 22 七月, 2019
标签
drupal

防止HTTP HOST标头攻击(防止您的网站认为是其他人)

Drupal 7在核心中添加了一个新功能,而不是直接面向用户,但有时也称为穷人的cron。该功能触发Drupal站点的周期性任务,如清空日志文件,发送电子邮件和清除缓存。此功能与动态检测“基本URL”(在Drupal 4.7中添加)结合使用时,可能会导致一些棘手的情况。本文描述了某些模块或两者都出现的一些棘手情况,以及您可以采取哪些措施来防止它们。下面的评论假设一些默认配置 - 我将在最后讨论如何摆脱这些默认配置以防止这些问题。

方案1:获取/发送看似用于其他域的用户电子邮件

这种行为很容易复制:

  1. 将新域指向现有站点的IP - 让我们调用现有站点http://www.example.com,并指向该IP的新名称为http://other-site.example.org
  2. 访问网址:http://other-site.example.org/user/password
  3. 提交可能在网站上使用的用户名。

结果是,在第2步中,$ base_url检测认为您的站点是http://other-site.example.org以及包含[user:one-time-login-url]等电子邮件的所有令牌您网站的链接将更改为使用http://other-site.example.org作为基本网址。收到此电子邮件的用户将看到他们的用户名和example.com的电子邮件现在在http://other-site.example.org上以某种方式使用,这通常只是令人困惑。但是,可能会出现两个不好的情况:

  • 在最糟糕的情况下,可能会导致他们点击密码重置链接,恶意网站可以使用该链接以该用户身份登录该网站。
  • 他们可能会将他们的用户名/密码输入http://other-site.example.org--一种所谓的社会工程攻击 - 然后可以在主站点上使用。

方案2:缓存包含错误域的条目

当用户使用错误的域来发出请求时,可能会发生类似的问题,而这恰好是使用动态的完全限定域填充缓存条目的请求。从该缓存中检索信息的后续访问将获得错误的域名。Drupal核心的页面缓存使用域作为缓存ID的一部分,防止出现此问题,但其他缓存机制可能不会对此问题具有强大的功能。

场景3:包含错误域的通知邮件

在使用在cron运行期间发送电子邮件的模块的站点上可能会出现另一个问题。这种情况需要穷人的cron与动态base_url检测。如果用户碰巧通过访问错误的域名在队列中发出通知时触发了穷人的cron,则会通过该错误的域发送通知。用户将非常困惑为什么他们希望从example.com的电子邮件地址收到的邮件包含指向http://other-site.example.org域的链接。

使用Drupal动态base_url检测混淆体验的解决方案

这个问题至少有四种可能的解决方案,但并非所有这些都是解决问题的必要条件。您应该根据您的环境挑选。

  1. 您可以在sites / default / settings.php中将特定域设置为$ base_url。虽然动态检测可以是一个方便的功能,但它也可能导致问题。阻止它的一种方法就是设置永久值。
  2. 使用特定的sites / example.com / settings.php并动态检测$ base_url - 这意味着让Drupal响应example.com的所有子域,这可能是一个好处,也可能不是。
  3. 配置您的Web服务器,以便在传入请求不是您的默认Drupal安装之外(例如错误页面)时提供默认页面。
  4. 将您的网络服务器配置为重定向到达您的服务器但不适合相应域的所有请求转发到正确的域名。

Drupal 8中的可信主机安全设置

截至2015年1月,Drupal 8支持“可信主机模式”,您可以(并且应该)指定传入请求中的域必须匹配的一组正则表达式。示例配置将读取:settings.php

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

有关详细信息,请参阅上述更改记录。请注意,如果您正在进行本地开发,则可能会通过上述配置自行(暂时)锁定您的站点。您应该添加信任的主图案为'^localhost$'在这种情况下。

MAMP 3的可信主机设置

关于本地开发,MAMP(3.5.2)'^ localhost $'设置给出错误消息“提供的主机名对此服务器无效”,并且不加载站点。找到一个解决方案,用站点名称更改它,没有端口号。在我的测试网站“drupal8”中:

$settings['trusted_host_patterns'] = [
  '^drupal8$',
];

使可信主机处于活动状态。

注意:在MAMP 4.2'^ localhost $'工作得很好。

Acquia Dev Desktop 2的可信主机设置(使用Drupal 8.6.2和PHP 7.2.8测试)

如果您使用的是Acquia Dev Desktop 2,请尝试以下可信主机模式。将“sitename”更改为您网站的名称:

$settings['trusted_host_patterns'] = array(
    '^sitename\.dd$',
);

XAMPP的可信主机设置(使用Drupal 8.4.0和PHP 7.1.8测试)

要启用可信主机机制,我们需要在$ settings ['trusted_host_patterns']中启用允许的主机。

打开“settings.php”文件并更新以下代码以启用可信主机设置:

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

这里,

  • '^ localhost $',:这将允许该站点仅从localhost运行。
  • '^ 192 \ .168 \ .00 \ .52 $',:这将允许站点仅从系统IP运行(不同的系统具有不同的IP)。
  • '^ 127 \ .0 \ .0 \ .1 $',:这将允许该站点仅从127.0.0.1而不是localhost运行。

注意:如果有人运行多站点,那么在这种情况下只需指定站点允许的所有主机模式。

评论

  • 登录或注册以发表评论
  • 144 次浏览

书籍遍历链接: 可信主机设置

  • 将Composer添加到现有站点
  • 向上
  • 更新Drupal 8

最新文章

  • 内容审核通知 content_moderation_notifications 模块简介
  • 调度程序 scheduler 模块简介
  • 工作流当中的草稿,已发布,很好理解,已归档是怎么理解。
  • 你行网 https://www.dwoke.com seo 关键词
  • brew 是什么命令
  • drupal 9 或 drpal 10 国内内容分享模块 Will Nice social share
  • Views Slideshow - Views Vanilla JavaScript Slideshow (VVJS) 简介和安装方法
  • drupal 11 安装statistics 统计模块
  • drupal11 扩展中找不到Statistics模块
  • drupal11 设置中的“总结摘要”和“切边的” 有什么区别

教程节点

  • 概观
  • 系统要求
  • 安装Drupal 8
  • 将Composer添加到现有站点
  • 可信主机设置
  • 更新Drupal 8
  • 管理Drupal 8站点
  • 扩展Drupal 8
  • 贡献的模块
  • 多站点Drupal
  • 无障碍

标签云

adsenseAIapacheaptbadblocksbreadcrumbbrewcentoscertbotckeditorcommandcomposercookiecsharpCSScurlC语言DDEVdiffdnsdockerDreamweaverDrupaldrupal 7drupal 8drupal 9drupal10drupal 11drushExcelfirewalldfirmwareflameshotformgimpgitgzipHTMLHTML5httpdhttp验证inputipjavaJavaScriptJavaSrciptkernelKVMLinuxmavenmbstringmod_expires 模块Mysqlnerdtreenetstatnetworknginxnpmpasswordphpphpmyadminphp扩展RFIDRSSselinuxSEOsharesimple_adsensesshsslStatisticssuperfishsurroundtagcloudstitleubuntuuploadprogressvimVPNVUEWireGuardwpsxdebugyoutubeyumzip主题(theme)二进制五笔分类术语压缩解压哈希值声音字段密码工作流快捷键摄影权限果树种植标签优化模块(module)源地址版本号电子秤电脑基础电脑技巧短信验证端口简介算法网站备份网站运营翻译英语表单视图(views)计算机基础赚钱超五类线网线邮件验证重定向重定向,301错误颜色

相关文章

RSS源

关于我们

  • 你行网简介
  • 关于我们
  • 版权声明

网站相关

  • 社区论坛
  • 网址导航
  • 网站地图
  • 联系我们

友情链接

  • 英文学习

友情链接2

  • drupal 大学
  • 水滴间
  • 爱码网
  • Apache

友情链接3

  • MySQL
  • php
  • drupalcode

友情链接4

  • Drupal 中国
  • Drupal 老葛
  • 宁浩网
  • drupal 台湾
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号-1