Drupal 6,7,8安全升级步骤及注意事项

作者 老葛 亚艾元软件
Drupal6网站,
请您第一时间关闭网站,做好备份,让专业人员第一时间为您升级到Drupal7.

Drupal7网站,

请您第一时间升级到Drupal7的最新版本,目前为7.58两天之后,尽快升级到7.59。

升级步骤:
1, 下载Drupal7.58,解压缩。
2, 将Drupal7最新代码上传到你的网站根目录下面,替换即可。
3, 运行update.php
99.9%上述步骤没有问题。如果有问题,请第一时间联系专业人员。.

Drupal 安全漏洞SA-CORE-2018-002安全补丁

从代码里面我们可以看出,对于请求参数里面的#字符,这里添加了限制。Drupal的表单API,呈现数组里面的key都是以#开头的,对于以#开头的数据,Drupal以前默认未加过滤清理,导致黑客可以借助这里,植入代码。

Drupal7补丁地址

https://cgit.drupalcode.org/drupal/rawdiff/?h=7.x&id=2266d2a83db50e2f97682d9a0fb8a18e2722cba5

Drupal8补丁地址:

Drupal版本:

Drupal 安全漏洞SA-CORE-2018-002

老葛,亚艾元软件
Drupal在2018年3月28日发布了一个安全更新补丁,同时提醒大家,以前的版本存在SA-CORE-2018-002号安全漏洞,这个漏洞是Drupal资深开发人员,芬兰的Jasper Mattsson率先发现,并协助Drupal核心团队修复的。在Drupal安全团队修正了这个漏洞以后,立即发布了安全升级版本。提醒所有Drupal用户尽快安全升级。
https://www.drupal.org/sa-core-2018-002
对于这个安全漏洞,我们当时第一时间做了检查,我核对了Drupal代码里面的补丁代码,对它有所了解,这个是由于Drupal的表单机制,#符号有特殊的含义。黑客可以借助于这个地方的弱点渗透过来。但是需要熟悉Drupal机制的人,才能黑过来。
两周过后,大概,Drupal社区团队,发布了后续的安全预计升级,提升了此前的安全等级。因为黑客市场上,已经有公开的攻击Drupal这个漏洞的代码了。

Drupal8多语言问题 语言名字的修改

用户的Drupal8多语言网站,里面的多语言切换的区块,英文总是显示“English(英文)”,想把它给改掉,但是不行。

这个区块由language模块提供,我们检查了这个模块的源代码,写的比较抽象:

  public function build() {

    $build = [];

    $route_name = $this->pathMatcher->isFrontPage() ? '<front>' : '<current>';

    $type = $this->getDerivativeId();

    $links = $this->languageManager->getLanguageSwitchLinks($type, Url::fromRoute($route_name));


    if (isset($links->links)) {

      $build = [

论坛:

Drupal版本:

tb megamenu断点从980转960

tb megamenu默认断点是980,有时候想修改这个值,比如一个实际项目中,想把它改为960。

搜索研究了很久,没有可以配置的办法,只能修改源代码。这是我的修改:


tb_megamenu\js下面的tb-megamenu-frontend.js修改了。

  Drupal.TBMegaMenu.supportedScreens = [960];

tb_megamenu\css下面的CSS文件,

bootstrap.css

default.css

base.css

compatibility.css

等文件中,将980替换为960, 将979替换为 959


这样断点就从980改为960了。

论坛:

Drupal版本:

常用image crop相关模块


https://www.drupal.org/project/crop


https://www.drupal.org/project/focal_point


https://www.drupal.org/project/imagefield_crop


https://www.drupal.org/project/imagecrop


https://www.ostraining.com/blog/drupal/image-widget-crop-module/


https://www.drupal.org/project/manualcrop

 

经过对比,Drupal7下选择:

https://www.drupal.org/project/manualcrop

论坛:

Drupal版本:

让Drupal7同时支持IE7,8,9,新式浏览器、手机端

用户改版网站,将原来的主题改为响应式主题,同时专门为手机制作了主题。这个时候,我们采用了mobile theme这个方案,做了修改,将mobile detect的缓存代码改了一下,放到了mobile theme下面。

   用户想要支持IE7,8,9,老版本的IE。响应式的主题下面由于使用swiper.js,默认不支持ie9。这个时候,我们决定采用mobile theme方案,在它的基础上进行修改:

   增加对于ie的检查:

function mobile_theme_detect_ie_lower_version() {

  //$mobile_browser = 0;

  $is_ie_lower_version = false;

  $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ""; 

论坛:

Drupal版本:

页面

Subscribe to Think in Drupal RSS