目次

BUGs, TODOs

Reactive stats に関するものはこちら

BUGs

問い合わせへの返答メールに返信できない問題がある。返信できるようにすべて見直す必要あり。

ある一定条件下の場合、パス内に空白が入っていると ffmpeg がエラーになる

日本動物高度医療センター 管理部 IT・設備課 國分 真理子(こくぶん まりこ)

●失敗
AVIファイルをおいているパス
Q:\名古屋動画サーバ\手術動画\702001-702500\702093柳沢ポテト\20160313OT\2016-03-04 702093\POTETO_YANAGISAWA_20160222142458_1425440

その時のログ
[in#0 @ 0000015f33fc2980] Error opening input: No such file or directory
Error opening input file Q:\名古屋動画サーバ\手術動画\702001-702500\702093柳沢ポテト\20160313OT\2016-03-04.
Error opening input files: No such file or directory
Failed to convert: POTETO_YANAGISAWA_20160222142458_1425440.avi
続行するには何かキーを押してください . . .


●成功
AVIファイルをおいているパス
Q:\名古屋動画サーバ\手術動画\702001-702500\702093柳沢ポテト\20160313OT

その時のログ
Output #0, mp4, to 'Q:\名古屋動画サーバ\手術動画\702001-702500\702093柳沢ポテト\20160313OT\POTETO_YANAGISAWA_20160222142458_1425440_noaudio.mp4':
  Metadata:
    encoder         : Lavf61.1.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), nv12(progressive), 800x652, q=2-31, 44 fps, 11264 tbn
      Metadata:
        encoder         : Lavc61.3.100 h264_qsv
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[mp4 @ 00000170d6f20080] Starting second pass: moving the moov atom to the beginning of the file
[out#0/mp4 @ 00000170d6f2af00] video:3728KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.129619%
frame=  390 fps=147 q=26.0 Lsize=    3733KiB time=00:00:08.81 bitrate=3467.6kbits/s speed=3.32x
Converted: POTETO_YANAGISAWA_20160222142458_1425440.avi to Q:\名古屋動画サーバ\手術動画\702001-702500\702093柳沢ポテト\20160313OT\POTETO_YANAGISAWA_20160222142458_1425440_noaudio.mp4
続行するには何かキーを押してください . . .

opvsのビデオ表示が大きすぎる場合がある問題

dokuwiki_data/scripts/opvs-viewer.php

にて、max-width: 100vw; となっているせいで横幅いっぱいで不評だった

  #app video {
      width: 800px;
      min-width: 60vw;
      max-width: 100vw;
      height: auto;
  }

2024/5/21 日本動物高度医療センター 國分真理子 様 からのご指摘

opvs.emuyn.net が https アクセスできない問題

http://opvs.emuyn.net:8080/index.html?do=login&u=0000&p=0000

を https に対応させるべく、まずは Apache に opvs.conf を新設し、

https://opvs.emuyn.net:8443/index.html?do=login&u=0000&p=0000
https://opvs.emuyn.net:8444

を表示できるようにした。 javascript から http://opvs.emuyn.net:8081 にて /video/ ディレクトリを読もうとしているところを、

https://opvs.emuyn.net:8444

に書き換えた! あとは、start.php の

sudo reboot
crontab -l
sudo crontab -u username -l
sudo docker-compose up -d
/etc/letsencrypt/live/opvs.emuyn.net/fullchain.pem
/etc/letsencrypt/live/opvs.emuyn.net/privkey.pem
sudo docker ps
sudo docker-compose -f /home/ubuntu/dokuwiki/docker-compose.yml up -d
sudo docker-compose -f /home/ubuntu/dokuwiki/docker-compose.yml down
http://opvs.emuyn.net:8080/index.html?do=login&u=0000&p=0000
https://opvs.emuyn.net:8443/index.html?do=login&u=0000&p=0000

TODOs

支払確認

  1. ここに未払いをリスト

全般

手術ビデオシステム

セキュア問診票

DONE

NCD Helper

その他

DO NOT FORGET

htmlok plugin による誤動作

htmlok plugin で php を実行したとき、 DIR は /var/www/emuyn/info/lib/plugins/htmlok になる。 もしくは、DIR を一掃すべき。
念のため、通常の /home/medeputize/www/emuyn/dokuwiki/inc/parser を再設定すべき。

`htmlok` プラグインによって影響を受ける可能性のあるグローバル変数は、主に次のものです。
1. `$INPUT`
2. `$GLOBAL`
3. `$_SERVER`
4. `$_ENV`
5. `$_REQUEST`
6. `$_GET`
7. `$_POST`
8. `$_COOKIE`
9. `$_FILES`
10. `$_SESSION`
これらのグローバル変数は、通常のPHPスクリプトと同様に、`htmlok` プラグインによって生成されたPHPコード内で使用されます。
特に注意が必要なのは、`$INPUT` と `$GLOBAL` 変数です。
- `$INPUT` は、DokuWikiの入力データ(URLパラメータ、POSTデータなど)を扱うためのオブジェクトです。`htmlok`プラグインは、この変数を介して外部からのデータを取得する可能性があります。
- `$GLOBAL` は、DokuWikiのグローバル設定やメタデータにアクセスするためのオブジェクトです。この変数を不用意に変更すると、DokuWikiの動作に影響を及ぼす可能性があります。
そのため、`htmlok` プラグイン内でこれらの変数を使用する場合は、十分に注意が必要です。安全性を高めるには、これらの変数を直接変更するのではなく、適切にサニタイズした上で使用することをお勧めします。
また、セッションデータや Cookie、ファイルアップロードなどを扱う場合も注意が必要です。`htmlok` プラグイン内でこれらの機能を使用すると、潜在的なセキュリティリスクにつながる可能性があります。
自作のプラグインであれば、これらの問題を解決することができます。
具体的には、次のようなアプローチが考えられます。

1. **入力値のサニタイズ**
   - `$INPUT`オブジェクトから取得した値は、適切に無害化(サニタイズ)する必要があります。
   - 例えば、`htmlspecialchars()`関数を使って、HTMLエンティティに変換することで、XSSなどの攻撃を防ぐことができます。
2. **グローバル変数の隔離**
   - プラグイン内で使用するグローバル変数は、独自の名前空間に閉じ込めることで、他の変数への影響を最小限に抑えることができます。
   - 例えば、クラスのスタティックプロパティや、匿名関数の引数で受け取るなどの方法があります。
3. **セキュリティ機能の利用**
   - DokuWikiには、様々なセキュリティ機能が組み込まれています。プラグインではこれらの機能を最大限活用するべきです。
   - 例えば、`auth.php`でアクセス制御を行ったり、`SecurityUtilities`クラスの機能を使ってセキュリティチェックを行うことができます。
4. **適切なエラー処理**
   - プラグイン内で発生したエラーは、適切に処理する必要があります。
   - 単にエラーメッセージを表示するのではなく、ログに記録したり、管理者に通知を送ったりするなどの対策が求められます。
5. **定期的な監視とアップデート**
   - セキュリティ上の問題は常に発生する可能性があるため、定期的に監視しアップデートを適用する必要があります。
   - 公開されているセキュリティ情報を逐次チェックし、プラグインのコードを常に最新の状態に保つ努力が不可欠です。
自作のプラグインであれば、このようなセキュリティ対策を組み込むことで、グローバル変数の影響を最小限に抑え、安全性を高めることができます。ただし、セキュリティには絶対はありませんので、常に注意を払い続ける必要があります。

Dokuwiki update の時は main.php など修正済みファイルに注意

どのファイルが入れ替わるかわからないので、必ず全て事前に保管しておくこと!