Skip to content

mimikero

Program / Security etc…

Menu
Menu

katteneをPHP8.0以上に対応させる

Posted on 2023年7月16日2023年7月21日 by mimi

2023/07/21 追記
https://webfood.info/make-kattene/
https://plugins.trac.wordpress.org/browser/kattene/tags/1.6/plugin.php

WordPressがサブディレクトリにインストールされている場合も使えるようにした。
mainフラグ周りの「Warning: Undefined array key」や「Notice: Undefined index」が出ないようにした。
mainフラグが1つも設定されていない場合、1番上のURLをメインとして使うようにした。複数にmainフラグが設定されてしまった場合は、そのうちの1番上のものをメインとするようにした。

kattene 1.6で修正されました。


別ブログでkatteneプラグインを使っていて、PHP8.0以上にアップグレードすると、下記エラーが発生。

Warning: Undefind array key "main" in /home/xxxx/wp-content/plugins/kattene/plugin.php on line 44

PHP7まではNoticeのみで出力されていなかった。PHP8以降はWarningに格上げ。
上の表示でもそんな感じ。

プラグイン自体2年ほどアップデートされていないので、pochippに乗り換える人がちらほら。

今更全てのリンクを変更するのは面倒だったので、plugin.phpを編集。


編集前

plugin.php
$main_tmp = array_filter($sites,
  function($site){
    return $site["main"];
  }
);

$main = array_pop($main_tmp);

編集後

plugin.php
  $main_tmp = array_filter($sites,
    function($site){
      return isset($site["main"]) && $site["main"];
    }
  );

  if (!empty($main_tmp)) {
    $main = array_pop($main_tmp);
  }

$sites 配列の要素に "main" キーが存在するかどうかを事前に確認。

$main = array_pop($main_tmp); も一応エラーハンドリングを追加しておく。


PHP8.2.5で動作確認済。

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA


email confirm*

post date*

ads

trends post

Spring Boot と Spring Framework バージョン 対応表まとめ(SpringBoot v2,v3)

Excelデータのスクロールバーが短い現象を保存を使わずに直す

エックスサーバーにLaravelプロジェクトをデプロイ

latest post

  • Cockpit-Docker をubuntu20にインストールする
  • PHPのProcessで日本語パラメータを扱うとsurrogates not allowed となる
  • XServerでexecやshell_execを実行すると、Unable to forkとエラーが出るとき
  • tenable解説 混合リソースの検出
  • tenable解説 WebDAV
  • tenable解説 ディレクトリリスト
  • tenable解説 暗号化されていないパスワードフォーム
  • tenable解説 オートコンプリートのパスワードフィールド
  • tenable解説 CVS/SVN ユーザーの漏洩
  • tenable解説 プライベート IP アドレスの漏洩
  • tenable解説 メールアドレスの漏洩
  • tenable解説 バックアップファイル
  • tenable解説 バックアップディレクトリ
  • tenable解説 共通ファイルの検出
  • tenable解説 共通ディレクトリの検出

カテゴリー

  • Authentication & Session
  • BurpSuite
  • Component Vulnerability
  • Data Exposure
  • HTTP Security Header
  • Lodash
  • Moment.js
  • tenable
  • Web Applications
  • Web Servers
  • 未分類
  • 脆弱性解説
©2025 mimikero | WordPress Theme by Superbthemes.com