TVRemotePlusのPHP脆弱性対策方法

TVRemotePlusは、PHP / JavaScript 製のテレビのリモート視聴ソフト(いわゆるロケフリ)です。
YouTube やニコニコ動画などの動画配信サービスの UI を意識した、モバイルフレンドリーなレスポンシブ Web UI が特徴です。
放送中の番組の視聴・録画番組の検索/再生・複数同時視聴などの基本機能に加え、Twitter と連携してキャプチャ付きでツイートする機能やニコニコ実況のコメントを表示 / 投稿する機能、字幕を表示する機能なども実装しています。

https://github.com/tsukumijima/TVRemotePlus

 

TVRemotePlus 2.8.0へのバージョンアップ

公式でのリリースれされている最終バージョンは2.7.1です。
(PHPのバージョンが7.4.4)

ここで、いったん開発終了したとのことですが、
その後、Eschamali 氏による Apache 2.4.55 / PHP 8.2 対応フォーク の取り込み、テレビ東京のニコニコ実況コメントが表示されなくなった問題など、いくつか追加の修正を行った
2.8.0が公開されています。

https://github.com/tsukumijima/TVRemotePlus

が、リリースにはなっていないので、Download Zipで修正版を入手します。
(PHPのバージョンが8.2.11)

TVRemotePlus 2.7.1 が導入されてることを前提に、バージョンアップをします。
ここでは、インストール先を「c:\Wintool\TVRemotePlus」で想定しています。

・TVRemotePlus の終了
 TVRemotePlusを終了しておきます。

 

・現行のバックアップ
 c:\Wintool\TVRemotePlus を
 c:\Wintool\TVRemotePlus -2.7.1に複製しておきましょう。

 

・ダウンロードしたDownload Zipを解凍
 c:\Wintool\TVRemotePlus\TVRemotePlus2.8.0 に
 ダウンロードしたDownload Zipをコピーして解凍(展開)します。

 

・インストーラの実行
 解凍(展開)したフォルダに、「install.bat」があるので、実行します。
 以下のように入力すると、アップデートが開始されます。

  インストールするフォルダ:c:\Wintool\TVRemotePlus
  インストールモード:1 (アップデートモード)

 アップデートが終わるまで待ちます。

 

・hrrpd.confを編集して、PHPを7.4から8.2に切り替えします。
 メモ帳で以下のファイルを開き、編集します。
 c:\Wintool\TVRemotePlus\bin\Apache\conf\hrrpd.conf

# PHP module
# LoadModule php7_module "${SRVROOT}/bin/PHP/php7apache2_4.dll"  # <- この行をコメントアウト
LoadModule php_module "${SRVROOT}/bin/PHP/php8apache2_4.dll"  # <- この行を追加


 

・コメントを読み込み中が出てしまう場合の対策
 ①TVRemotePlusインストールフォルダでDPlayer.min.jsを探す。
  <TVRemotePlusインストールフォルダ>\htdocs\filesの下にあるはずです。

 ②DPlayer.min.jsをテキストエディタで開き「コメントを読み込み中…」を検索する。

 ③「コメントを読み込み中…」を半角スペースに置き換える。  
  ※削除すると、違う言語の当該文言が適用されるので削除しないこと。
  ※また “” は残してください。

 ④クライアント側のブラウザキャッシュを実施する。
  Chrome.Edgeなどであれば、「Ctrl」キーと「F5」キーを同時に押すと
  該当ページをスーパーリロード(キャッシュを利用せずにページをリロード)されます。
  ※これを行わないと、キャッシュされたjsファイルが動作し続ける場合があります。

 

・起動確認
 c:\Wintool\TVRemotePlus\TVRemotePlus.exe
 を実行すると、TVRemotePlusが起動します。

 一通り動作確認してみてください。

 

PHPを8.2.11から、8.2.35(バージョン)に変更

・TVRemotePlus の終了
 TVRemotePlusを終了しておきます。

 

・現在のPHPのバージョンを確認
 現在のPHPのバージョンを確認します。

 コマンドプロンプトで、以下のコマンドを実行してきてください。
 現在のバージョンが表示されます。

 c:\Wintool\TVRemotePlus\bin\PHP\php.exe -v
 PHP 8.2.11 (cli) (build: Sep 26 2023 15:25:31) (ZTS Vistual C++ 2019 x64)

 8.2.11 ZTS(Thread Safe) x64 版のようです。

 

・PHPの公式から、脆弱性対策済のバイナリを入手します。
 https://www.php.net/downloads.php

 今回は以下のようにフィルタリングします。
 「Windows」「ZIP Downloads」「version 8.2」

 すると、以下の4つが出てきます。

 VS16 x64 Non Thread Safe
 VS16 x64 Thread Safe
 VS16 x86 Non Thread Safe
 VS16 x86 Thread Safe

 今回必要なのは、既存「TS(Thread Safe) x64 版」に合わせるので、
 VS16 x64 Thread Safe
 になりますので、ダウンロードします。

 c:\Wintool\TVRemotePlus\TVRemotePlus2.8.0 に
 ダウンロードしたphp-8.2.35-Win32-vs16-x64.zipをコピーして解凍(展開)しておきます。

 

・PHP 8.2.35を上書きコピーする
 解凍(展開)したPHP 8.2.35の中身をを上書きコピーします。
 ただし、PHP\ext\php_curl.dllのみ上書きコピーしてしまうと
 各チャンネルの番組情報が表示されなくなりますので、それだけは避けてください。
 (あらかじめコピー元をリネーム(php_curl.dll-8.2.35とか)してしまうのが
 簡単だと思います)

 コピー先:c:\Wintool\TVRemotePlus\bin\PHP\

 誤って上書きしてしまった場合には、
 TVRemotePlus2.8.0の中から回収すればOKです。

 

・コピー後のPHPのバージョンを確認
 コマンドプロンプトで、以下のコマンドを実行してきてください。
 バージョンが表示されます。

 c:\Wintool\TVRemotePlus\bin\PHP\php.exe -v
 PHP 8.2.35 (cli) (build: Oct 20 2026 04:17:59) (ZTS Vistual C++ 2019 x64)

 8.2.35 ZTS (Thread Safe) x64 版になっています。

 

・起動確認
 c:\Wintool\TVRemotePlus\TVRemotePlus.exe
 を実行すると、TVRemotePlusが起動します。

 一通り動作確認してみてください。

 

これで脆弱性対策が完了になります。

 

Views: 3

カテゴリー: Windows, TV録画 パーマリンク

コメントを残す

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