Releases: satopian/poti-kaini
POTI-board EVO v6.59.1 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv6.xの開発です。v6.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v6.59.1.1リリース
2024/12/24 v6.59.1.1
PaintBBS NEOの続きを描く画面でアニメーションを再生しない
- NEOで続きを描くと、描いた手順の描画アニメが再生され再生を最後まで待つか、画面をタップして再生をスキップする必要がありました。
- 今回の更新で続きを描く画面では描画アニメを再生せず、アニメデータからレイヤー情報だけを取得して静止画として画面に出力するようになりました。
- これにより、アニメの再生がはじまった時にタップしてスキップする必要がなくなりました。
- オリジナルのPaintBBSにより近い動作になりました。
変更があったファイル
- neo.js
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint.blade.php
MONO
- templates/mono/mono_paint.blade.php
2024/12/17 v6.57.1
「SNSで共有」機能がThreadsに対応しました
- Meta社のSNS「Threads」の共有リンクが作成できるようになりました。
変更するファイルの数は少ないのですが、「Threads」に対応させるには、config.php
の再設定が必要になります。
「Threads」対応の必要が無い場合は、config.php
の再設定は必要ありません。
// SNS共有の時に一覧で表示するサーバ
//例 ["表示名","https://example.com (SNSのサーバのurl)"],(最後にカンマが必要です)
$servers =
[
["X","https://x.com"],
["Bluesky","https://bsky.app"],
["Threads","https://www.threads.net"],
["pawoo.net","https://pawoo.net"],
["fedibird.com","https://fedibird.com"],
["misskey.io","https://misskey.io"],
["misskey.design","https://misskey.design"],
["nijimiss.moe","https://nijimiss.moe"],
["sushi.ski","https://sushi.ski"],
];
// SNS共有の時に開くWindowsの幅と高さ
//windowの幅 初期値 600
define("SNS_WINDOW_WIDTH","600");
//windowの高さ 初期値 600
define("SNS_WINDOW_HEIGHT","600");
["Threads","https://www.threads.net"],
が1行追加になり
さらに
define("SNS_WINDOW_WIDTH","600");
define("SNS_WINDOW_HEIGHT","600");
のように、初期値を600pxに変更しています。
ここのウィンドウサイズを変更しなくても表示できますが、画面下側が少し隠れ気味になります。
また、従来のウィンドウ幅でSNSの共有先の画面が表示されたあとの操作のための幅と高さが不足していたかもしれません。
そのため、幅、高さともに600pxに拡張しています。
変更があったファイル
- potiboard.php
- sns_share.inc.php
- config.php
(SNS共有で、Threadsの共有リンクを作成したい場合は更新が必要)
2024/12/12 v6.57.1
PaintBBS NEOで動画が保存されない時は警告を出す
- PaintBBS NEOで動画データが保存されない時は「レイヤー情報は保存されません。続行してよろしいですか?」という確認ダイヤログを表示します。
キャンセルすれば、レイヤー情報が保存されない事を前提にした作画を続行できます。
マークダウン形式のリンク機能を改善
- マークダウン形式のリンク
[文字列](URL)
を改善しました。
文字列を指定する[]
の中にさらに[]
がある時は、バックスラッシュ(円マーク)でエスケープします。
エスケープされていれば
[12345] Petit Note
のようなリンクになります。
例)
[\[12345\] Petit Note](https://example.com)
マークダウン形式のリンクを作成するChromeの拡張機能のいくつかは、上記の例のように[]
の中の[]
をバックスラッシュでエスケープしますから、拡張機能が作成したマークダウンのリンクをそのまま使う事ができます。
変更があったファイル
-
axnos/axnospaint-lib.min.js
-
neo.js
-
potiboard.php
-
search.inc.php
-
templates/basic/paint.blade.php
-
templates/mono/mono_paint.blade.php
2024/12/03 v6.56.6
AXNOS Paint 更新
- 画面が小さな端末に対応したUIになりました。
変更があったファイル
- axnos/ ディレクトリを上書きアップデート
- potiboard.php
2024/12/04 v6.56.5
ChickenPaint Beで通信エラーが発生した時のHTTPステータスコードをよりわかりやすく
- これまでChickenPaint Beで通信エラーが発生した時のエラーメッセージは英語のみでした。
今回の更新で日本語環境の時には、通信エラー時のエラーメッセージが日本語で表示されるようになりました。 - 最初に表示される「画像を保存できませんでした。」に続く文言に「エラーメッセージをご確認ください。」と入るようになりました。
エラーが発生した状況の詳細は、このアラートではなく次に表示されるエラーメッセージにあるのでそちらを見て欲しいからです。
↑
エラーメッセージの3桁の数字がHTTPステータスコードである事をわかりやすく表示。
この場合は「404」なので、404Not Foundです。
サーバが混雑している時には「503」が返ってくる可能性が高く、サーバによる拒否であれば「403」が返ってきます。
「200」の時には投稿可能な状態なので、エラーメッセージは表示されず投稿処理が行われます。
変更があったファイル
- chickenpaint/ ディレクトリを上書きアップデート
- potiboard.php
2024/12/03 v6.56.3
ユーザー認証コードの見直し
- ユーザーコードを64文字に拡大しました。
- 画像差し換え時の認証コードのハッシュ値の種にパスワードを使用するのを止めました。
- 画像差し換え時の認証コードに、記事番号と記事IDをそのまま含める形にしより確実な認証ができるようにしました。
- 画像差し換え処理の時にも、投稿された画像の本人確認を追加して、ユーザーコードあるいはIPアドレスが一致する時にのみ画像を投稿するようにしました。
画像差し換え・記事編集時に記事が既に削除されていた時に発生する問題を修正
- 問題は続きを描いている最中に記事が削除されて、次の人が同じパスワードで記事を投稿した時に起こります。
次の人の投稿も同じ「記事番号」と「パスワード」になるからです。
この時、次の人の投稿を「続きを描く」で続きを描いた投稿が上書きしてしまいます。
記事の編集中に記事が削除され、同じ「記事番号」と同じ「パスワード」の別の投稿が記事の編集中に投稿された時にも同様の問題が発生します。 - この問題を回避するため、続きを描く・記事編集の時に、上書きする記事がもとの記事と同一かどうかを記事のUNIXタイムスタンプで確認します。
ChickenPaint Be更新
Feature request/proposal: converting brightness to opacity · Issue #4 · satopian/ChickenPaint_Be
- 「輝度を透明度」に変換機能を追加しました。
- @SuzuSuzu-HaruHaruさんが作成した原型をもとに不透明度の計算方法を調整し、一般的なペイントソフトと比較しても遜色のない機能として実装しました。
変更があったファイル
- chickenpaint/ ディレクトリを上書きアップデート
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/other.blade.php
MONO
- templates/mono/mono_other.blade.php
テンプレートを更新しなくてもこれまで通り動作します。
ただし、更新しない場合は、記事の編集中に記事が削除されてしまっていた時に、次の投稿を上書きする可能性は残ります。
この問題は20年前からPOTI-boardに存在していた問題ですから、問題が発生するケースはおそらくごく稀です。
2024/11/26 v6.53.8
コードを整理
-
長過ぎる画像差し換えのforeachのネストを短くしました。
-
必要の無いbasename()を削除しました。
-
GDが使用可能かどうかをチェックしていた関数を簡素化して、thumbnail_gd.inc.phpのclassのメソッドにまとめました。
-
PHP8.4で、exit()が言語構造から関数になったため、丸括弧なしの
exit;
をexit();
に変更しました。
丸括弧なしのexit;
は将来のバージョンのPHPでは非推奨になる可能性があります。
【PHP8.4】exitが言語構造ではなくなった #日本語訳 - Qiita
https://qiita.com/rana_kualu/items/60912b8cac8deeaa3560
バグ修正
- 続きを描く時のパスワード認証処理で、存在しない記事ナンバーを意図的に指定するとexplode()が失敗して、PHPのエラーになっていたのを修正しました。
(通常の使用では発生せず、不正な処理が行われた時に、サーバのエラーログにPHPのエラーとして記録されていました。) - config.php;で$addinfoに掲示板の追加の説明文を指定しても、新規投稿のフォームに表示されていなかったのを修正しました。
(お絵かき時と、返信時には追加の説明文が表示されていましたが、新規投稿フォームには表示されていませんでした。)
変更があったファイル
- potiboard.php
- thumbnail_gd.inc.php
変更があったテンプレート
BASIC
- templates/basic/other.blade.php
MONO
- templates/mono/mono_other.blade.php
(単に新規投稿フォームに$addinfoが表示されるようになっただけなので、必要な人だけ更新)
2024/11/20 v6.51.3
ログファイルサイズの5MB制限を廃止
ログファイルが5MBを超過した時に、ログファイルとして必要なの項目を考慮しない形でログファイルがカットされてしまっていました。
そのため、ログファイル取得時の5MB制限を廃止しました。
代わりに、ログファイルのサイズチェックを追加します。
ログファイルが15MBを超過している時は、エラーメッセージを表示します。(書き込み時とペイントボタン押下時)
しかしながら、ログファイルのファイルサイズが15MBになる頃には、掲示板がかなり重くなっているはずです。
およそ、8000件の投稿までなら稼働実績がありますが、それ以上になると動作が不安定になる可能性が高いです。
もっと多くの書き込みを保存したい時は、
satopian/Petit_Note: 「お絵かき掲示板PHPスクリプトPetit Note」 for PaintBBS NEO, tegaki.js,AXNOS Paint,ChickenPaint and Klecks. (PHP7.0 - PHP8.4)
https://github.com/satopian/Petit_Note
の利用をご検討ください。
こちらは、1スレッド1ログファイル形式のため、8000スレッド保存可能です。
1スレッドに200発言なら8000x200=160万件投稿稿可能です。
config.phpに新規設定項目を追加
ログファイルのサイズチェックの制限値を一律で15MBにしても良かったのですが、一応設定できるようにしておきました。
特にこだわりがない場合は、設定項目を追加する必要はありません。
設定項目が存在しない場合は、デフォルトの制限値15MBが適用されます。
//ログファイルのファイルサイズの制限値(単位MB)
//大きな値を設定すると動作が不安定になる可能性があります。
define("MAX_LOG_FILESIZE", "15");
Firefoxのメニューバーがaltキー押下で開閉する問題
アクノスペイント使用時に、altキーを押下してもFirefoxのメニューバーが開閉しないようにしました。
アクペのショートカットキーにはaltが割当られていないため、関係ないといえば関係ないのですが。
変更があったファイル
- potiboard.php
- config.php
(config.phpを変更する必要はありませんがどうしても設定したい人向けに設定項目を追加しています)
変更があったテンプレート
BASIC
- templates/basic/paint_axnos.blade.php
MONO
- templates/mono/paint_axnos.blade.php
2024/11/19 v6.50.3
PHP8.4のRFCで削除が検討されていた関数を新しい関数へ
PHP8.4のRFCで削除が検討されたものの、反対票がわずかに多かったため非推奨にならなかった関数のいくつかをPOTI-board EVOで使用していました。
PHP: rfc:deprecations_php_8_4
https://wiki.php.net/rfc/deprecations_php_8_4
Deprecate uniqid()
Deprecate md5(), sha1(), md5_file(), and sha1_file()
PHP8.4では非推奨にならなかったものの、今後の事を考えて別の関数への置き換える事にしました。
古い暗号化処理の関数を新しい関数に
Deprecate uniqid()
uniqid()
の使用をやめ、代わりにrandom_bytes()
を使用します。
同じ画像チェックのためのハッシュ値のアルゴリズムをmd5からsha256へ
Deprecate md5()
PHP8.4のRFCでmd5()
の廃止も検討されていました。
そのため、同じ画像が連続投稿されるのを防止するために使用していたmd5
による画像のハッシュ値の取得をsha256
に変更しました。
問題点
- これまでログファイルに記録されていたハッシュ値は
md5
で取得したものであるため、過去の画像のハッシュ値は意味をなさなくなってしまいます。 - そのため、v6.50.3への更新のあと新規に投稿された画像のみが重複チェックの対象になります。
- config.phpの
$badfile
も新しく作り直す必要があります。
//拒絶する画像のハッシュ値
$badfile = array("dummyhash","dummyhash2");
(拒絶画像の指定をしているユーザーはほとんどいないと思いますが。)
変更があったファイル
- neo.css
- neo.js
- picpost.inc.php
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/other.blade.php
MONO
- templates/mono/mono_other.blade.php
2024/11/11 v6.39.12
.htaccessの記述方法をApache2.4形式に
- Apache2.2は2017で公式サポートが終了しましたが、そのApache2.2形式のhtaccessを使用していた事が判明したため、Apache2.4形式に書き直しました。
変更があったファイル
- potiboard.php
- .htaccess
- templates/.htaccess
2024/11/08 v6.39.11
Klecksでファイルサイズが大きすぎる時に詳細なエラーメッセージを表示
- 「ファイルサイズが大きすぎます。制限値:20MB 現在値30MB」のような形式でエラーメッセージを表示します。
Klecksで出力するPNG形式の画像ファイルとPSD形式のレイヤー情報を合計した値が、サーバの許容値を超えてしまった時に、なぜ投稿できないのかを詳細に表示します。
これまでは「投稿に失敗。時間を置いて再度投稿して下さい。」とだけ表示されていました。
レイヤー情報込みのファイルサイズなので、レイヤーの枚数が多いほど上限を超えやすくなります。
レイヤーを結合すればファイルサイズは小さくなります。
日本語表示時。
英語表示時。
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
2024/11/06 v6.39.9
ChickenPaint Be更新
- ファイルサイズがサーバの許容値を超えている時により詳細なエラーメッセージを表示します。
「ファイルサイズがサーバーの上限を超えています。」というエラーメッセージを表示します。
また、上限値と現在のファイルサイズも表示します。
これまでは「お絵かきが保存できませんでした。再度投稿してみてください。」とだけ表示されていました。
ChickenPaintのレイヤーを統合して整理すれば投稿時のファイルサイズは小さくなります。このエラーメッセージが表示されて投稿できない時はレイヤーの統合を行えば投稿が可能になる場合があります。
アップロード容量の制限値を知りたい(ファイルマネージャ、FTP、PHP) - よくあるご質問 - さくらのサポート情報
https://faq.sakura.ad.jp/s/article/000001463
さくらのレンタルサーバでは、初期設定で5MBまでとなっており、それよりも大きなファイルサイズを許容してたい...
POTI-board EVO v5.63.9.1 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.63.9.1 リリース
23/08/16 v5.63.9.1
検索画面の次ページのリンクが動作していなかったのを修正しました。
変更があったファイル
- search.inc.php
23/08/16 v5.63.9
独自カスタマイズ版ChickenPaintのバグを修正
- カラーセットをPCから読み込む事ができなくなっていたのを修正しました。
変更があったファイル
- chickenpaint/ ディレクトリを上書きアップデート
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- saveneo.php
23/08/13 v5.63.8
管理者モードのリンクを非表示にする設定項目を追加しました。
config.phpに以下の設定項目を追加しました。
//管理画面へのリンクを表示する する:1 しない:0
define("USE_ADMIN_LINK", "1");
//しない:0 で、管理画面へのリンクが表示されなくなります。
設定項目が存在しない場合は、従来と同じ動作になり、管理画面へのリンクが表示されます。
変更があったファイル
- potiboard.php
- config.php (設定項目の追加が必要ない場合は現在使用中のconfig.phpをそのままご利用ください。)
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
MONO
- templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
23/08/07 v5.63.7
Klecks更新
非表示レイヤーの色がスポイトされる問題が修正されました。
変更があったファイル
- klecks/ ディレクトリを上書きアップデート
- potiboard.php
変更があったテンプレート
小さな画像の時は画面サイズにフィットさせるKlecksの新しい機能を無効化するオプションを追加しています。
- templates/basic/paint_klecks.blade.php
- templates/mono/paint_klecks.blade.php
23/08/04 v5.63.6.1
KlecksとTegakiの更新
- klecks/ ディレクトリを上書きアップデート
- tegaki/ ディレクトリを上書きアップデート
23/07/27 v5.63.6
バグ修正
- EdgeのIEモードで表示できなくなっていたのを修正しました。
変更があったファイル
- potiboard.php
- templates/mono/js/mono_common.js
- templates/mono/parts/style-switcher.blade.php
23/07/27 v5.63.5
変更があったファイル
- potiboard.php
- search.inc.php
(変数が未定義になっていた箇所を修正)
変更があったテンプレート
BASIC
- templates/basic/paint_tegaki.blade.php
(tegaki.js使用時のiPadのダブルタップズームを回避)
MONO
- templates/mono/mono_main.blade.php
(searchのリンクがsearch.phpのままになっている箇所があったのを修正) - templates/mono/paint_tegaki.blade.php
(tegaki.js使用時のiPadのダブルタップズームを回避)
23/07/13 v5.63.3
SNS共有時に開くWindowsの幅と高さをconfig.phpで設定できるようにしました。
config.phpに新規設定項目を追加しました。
// SNS共有の時に開くWindowsの幅と高さ
//windowの幅 初期値 350
define("SNS_WINDOW_WIDTH","350");
//windowの高さ 初期値 490
define("SNS_WINDOW_HEIGHT","490");
SNS共有時のサーバ一を追加した時に、共有画面のWindowの高さが不足して、スクロールする必要があるケースがありました。
SNS共有時のサーバ一覧の共有画面のWindowsの幅と高さを設定できるようにして、その問題を解決しました。
上記設定項目がconfig.phpに存在しない時は、デフォルト値の、幅350px、高さ490pxが適用されます。
変更があったファイル
- potiboard.php
- config.php (新規設定項目が必要な場合のみ更新)
変更があったテンプレート
BASIC
- templates/basic/js/basic_common.js
- templates/basic/main.blade.php
- templates/basic/res.blade.php
MONO
- templates/mono/js/mono_common.js
- templates/mono/mono_main.blade.php
[2023/07/11] v5.63.2
投稿を共有するSNSのサーバ一覧画面の操作性を向上
共有するサーバの選択時にラベルの文字列の上にカーソルをあわせなくても選択できるようにしました。
ラベルの文字列の右側の余白をタップした時にも選択できるうようになりました。
- set_share_server.blade.php
のHTMLの文法エラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/set_share_server.blade.php
MONO
- templates/mono/css/mono_mayo.min.css
- templates/mono/set_share_server.blade.php
[2023/07/11] v5.63.1
検索処理をsearch.phpからsearch.inc.phpへ
jQueryのバージョン設定やその他の関数がpotiboard.phpとは別に設定されていたsearch.phpの構造を根本から見直して、potiboard.phpにincludeするclassに修正しました。
検索結果は、これまではsearch.php?
のようなURLで表示されていましたがpotiboard.php?mode=search&
のようなURLに変わります。
テンプレートMONOのCSS切り替え箇所を外部化して共通化
templates/mono/parts/style-switcher.blade.php
にこれまでいくつものテンプレートに記述していた以下の箇所をまとめました。
<style>
body{
visibility: hidden;
}
</style>
<noscript>
<style>
body{
visibility: visible;
}
</style>
</noscript>
<link rel="stylesheet" href="{{$skindir}}css/mono_main.css?{{$ver}}">
<link rel="stylesheet" href="{{$skindir}}css/mono_dark.css?{{$ver}}" id="css1" disabled>
<link rel="stylesheet" href="{{$skindir}}css/mono_deep.css?{{$ver}}" id="css2" disabled>
<link rel="stylesheet" href="{{$skindir}}css/mono_mayo.css?{{$ver}}" id="css3" disabled>
また、ここにvisibility: hidden;
というCSSを設定してDOMの読み込みとJavaScriptの読み込みが完了するまで画面を表示しないようにしました。
これにより、MONOの色設定が一瞬別の配色で表示されるのを防ぎます。
検索で、大文字小文字を区別しない
名前検索で完全一致オプションの時に、アルファベットの大文字小文字を区別しなくなりました。
変更があったファイル
- potiboard5/potiboard.php
- search.inc.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/search.css
MONO
- templates/mono/ ディレクトリを上書きアップデート
(テンプレートをすべて更新)
[2023/07/08] v5.62.3
投稿をシェアするサーバの一覧画面のデザインを調整しました。
テンプレート BASICの共有画面を調整しました。
ラジオボタンのチェックサークルを非表示にしました。
選択済みの時のラベルの文字を太字にしました。
変更があったファイル
- potiboard.php
- templates/basic/basic.css
- templates/basic/set_share_server.blade.php
[2023/07/08] v5.62.2
バグ修正
検索機能が動かなくなっていました。
このバグは、v5.58.10で発生し、v5.62.2で修正されました。
ツーイートボタンから「Twitter」「Mastodon」「Misskey」共有へ。
「Twitter」以外の、「Mastodon」「Misskey」等の短文投稿SNSに投稿を共有できるようにしました。
config.phpで設定すれば以前のツイートボタンに戻す事もできます。
また、共有するMastodon、Misskeyのサーバ一覧を編集する事もできます。
/* ---------- SNSシェア機能詳細設定 ---------- */
//シェア機能に、Mastodon、Misskeyの各サーバを含める 1:含める 0:含めない
define("SWITCH_SNS","1");
// SNS共有の時に一覧で表示するサーバ
//例 ["表示名","https://example.com (SNSのサーバのurl)"],(最後にカンマが必要です)
$servers =
[
["Twitter","https://twitter.com"],
["mstdn.jp","https://mstdn.jp"],
["pawoo.net","https://pawoo.net"],
["fedibird.com","https://fedibird.com"],
["misskey.io","https://misskey.io"],
["misskey.design","https://misskey.design"],
["nijimiss.moe","https://nijimiss.moe"],
["sushi.ski","https://sushi.ski"],
];
config.phpに設定項目が増えていますが、細かく設定したい人のためのものです。
設定項目が存在しない場合は、新しいSNS共有リンクになります。
変更が必要ではない方は、すでに設定ずみのconfig.phpをそのままご利用ください。
追加されたファイル
- sns_share.inc.php
変更があったファイル
- config.php
- potiboard.php
- search.php
変更があったテンプレート
BASIC
変更があったディレクトリ
- templates/basic/icomoon/ ディレクトリを上書きアップデート
変更があったテンプレート
-
templates/basic/basic.css
-
templates/basic/catalog.blade.php
-
templates/basic/js/basic_common.js
-
templates/basic/main.blade.php
-
templates/basic/other.blade.php
-
templates/basic/paint_klecks.blade.php
-
templates/basic/paint_tegaki.blade.php
-
templates/basic/res.blade.php
-
templates/basic/search.blade.php
-
templates/basic/tgkr_view.blade.php
#####追加されたテンプレート -
templates/basic/set_share_server.blade.php
MONO
変更があったテンプレート
- templates/mono/js/mono_common.js
- templates/mono/img/share-from-square-solid.svg
- templates/mono/mono_main.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/paint_tegaki.blade.php
- templates/mono/tgkr_view.blade.php
#####追加されたテンプレート
- templates/mono/set_share_server.blade.php
(テンプレートをカスタマイズしていない方は、templates/
ディレクトリをまるごとアップデートしてください)
[2023/06/24] v5.61.2
tegaki.jsが使えるようになりました。
英語圏最大の画像掲示板で使われているお絵かきアプリ「tegaki.js」に対応しました。
現時点では、続きを描くと描画アニメは消えてしまいます。
(NEOの画像から続きを描くと同じ)
ChickenPaintの独自修正版を同梱しました。
非推奨のJavaScript、jQueryの構文を独自に修正したものを同梱しました。
投稿者名をコピー機能を改善
投稿者名をコピーボタンを押したときに、テキストカーソルの位置に名前が挿入されるようになりました。
これまではテキストフィールドの文末に追加されていました。
追加されたディレクトリ
- tegaki/ ディレクトリをアップロード
更新されたアプリ
- chickenpaint/ ディレクトリを上書きアップデート
更新されたファイル
- potiboard.php
- saveklecks.php
(klecksのデータ受信ファイルをTegakiのデータも受信できるように改良しています。) - config.php
(Tegakiを使う/使わないを選択する設定項目が追加されています。設定項目が存在しない時は使うになります。)
更新されたテンプレート
BASIC
- templates/basic/main.blade.php
- templates/basic/res.blade.php
- templates/basic/paint.blade.php
- templates/basic/parts/copyright.blade.php
- templates/basic/parts/paint_form.blade.php
追加されたテンプレート
- templates/basic/paint_tegaki.blade.php
- templates/basic/tgkr_view.blade.php
MONO
- templates/mono/mono_main.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_copyright.blade.php
- templates/mono/parts/mono_paint_form.blade.php
追加されたテンプレート
- templates/mono/paint_tegaki.blade.php
mono/tgkr_view.blade.php
テンプレートをカスタマイズしていない方は、
templates/
ディレクトリを上書きアップデートしてください。
[2023/06/11] v5.60.0
ペイントアプリの非推奨になったJavaScriptを修正
- PaintBBS NEOをv1.6.0に更新しました。独自拡張版として運用していたバージョンを開発元にマージしていただく事ができました。
- ChickenPaintの独自修正版を同梱しました。
Klecksがレイヤー二枚で起動するようになりました。
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- neo.js
- potiboard.php
変更があったテンプレート
- templates/basic/paint_klecks.blade.php
- templates/mono/paint_klecks.blade.php
[2023/05/20] v5.59.0
バグ修正
- Tweetボタンを押した時に記事の固定リンクのURLが正しくセットされなくなっていたのを修正しました。
- このバグはv5.58.6で発生し、v5.59.0で修正されました。
jQuery更新
- jQueryをjQuery3.6.0からjQuery3.7.0に更新しました。
- jQueryのバージョン管理はpotiboard.phpの内部で行っているため、個別のテンプレートの修正は必要ありません。
非推奨になったJavaScriptとjQueryの構文を修正しました
- templates/basic/js/basic_common.js
- templates/mono/js/mono_common.js
各ファイルの非推奨になったJavaScriptとjQueryの構文を修正しました。
変更があったファイル
- potiboard.php
追加されたファイル
- lib/jquery-3.7.0.min.js
変更があったテンプレート
- templates/basic/js/basic_common.js
- templates/mono/js/mono_common.js
[2023/05/07] v5.58.9.1
Klecks更新
- klecks/ ディレクトリを上書きアップデート
BladeOne更新
- BladeOne/ ディレクトリを上書きアップデート
変更があったテンプレート
MO...
POTI-board EVO v5.62.3 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.62.3 リリース
[2023/07/08] v5.62.3
投稿をシェアするサーバの一覧画面のデザインを調整しました。
テンプレート BASICの共有画面を調整しました。
ラジオボタンのチェックサークルを非表示にしました。
選択済みの時のラベルの文字を太字にしました。
変更があったファイル
- potiboard.php
- templates/basic/basic.css
- templates/basic/set_share_server.blade.php
[2023/07/08] v5.62.2
バグ修正
検索機能が動かなくなっていました。
このバグは、v5.58.10で発生し、v5.62.2で修正されました。
ツーイートボタンから「Twitter」「Mastodon」「Misskey」共有へ。
「Twitter」以外の、「Mastodon」「Misskey」等の短文投稿SNSに投稿を共有できるようにしました。
config.phpで設定すれば以前のツイートボタンに戻す事もできます。
また、共有するMastodon、Misskeyのサーバ一覧を編集する事もできます。
/* ---------- SNSシェア機能詳細設定 ---------- */
//シェア機能に、Mastodon、Misskeyの各サーバを含める 1:含める 0:含めない
define("SWITCH_SNS","1");
// SNS共有の時に一覧で表示するサーバ
//例 ["表示名","https://example.com (SNSのサーバのurl)"],(最後にカンマが必要です)
$servers =
[
["Twitter","https://twitter.com"],
["mstdn.jp","https://mstdn.jp"],
["pawoo.net","https://pawoo.net"],
["fedibird.com","https://fedibird.com"],
["misskey.io","https://misskey.io"],
["misskey.design","https://misskey.design"],
["nijimiss.moe","https://nijimiss.moe"],
["sushi.ski","https://sushi.ski"],
];
config.phpに設定項目が増えていますが、細かく設定したい人のためのものです。
設定項目が存在しない場合は、新しいSNS共有リンクになります。
変更が必要ではない方は、すでに設定ずみのconfig.phpをそのままご利用ください。
追加されたファイル
- sns_share.inc.php
変更があったファイル
- config.php
- potiboard.php
- search.php
変更があったテンプレート
BASIC
変更があったディレクトリ
- templates/basic/icomoon/ ディレクトリを上書きアップデート
変更があったテンプレート
-
templates/basic/basic.css
-
templates/basic/catalog.blade.php
-
templates/basic/js/basic_common.js
-
templates/basic/main.blade.php
-
templates/basic/other.blade.php
-
templates/basic/paint_klecks.blade.php
-
templates/basic/paint_tegaki.blade.php
-
templates/basic/res.blade.php
-
templates/basic/search.blade.php
-
templates/basic/tgkr_view.blade.php
#####追加されたテンプレート -
templates/basic/set_share_server.blade.php
MONO
変更があったテンプレート
- templates/mono/js/mono_common.js
- templates/mono/img/share-from-square-solid.svg
- templates/mono/mono_main.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/paint_tegaki.blade.php
- templates/mono/tgkr_view.blade.php
#####追加されたテンプレート
- templates/mono/set_share_server.blade.php
(テンプレートをカスタマイズしていない方は、templates/
ディレクトリをまるごとアップデートしてください)
[2023/06/24] v5.61.2
tegaki.jsが使えるようになりました。
英語圏最大の画像掲示板で使われているお絵かきアプリ「tegaki.js」に対応しました。
現時点では、続きを描くと描画アニメは消えてしまいます。
(NEOの画像から続きを描くと同じ)
ChickenPaintの独自修正版を同梱しました。
非推奨のJavaScript、jQueryの構文を独自に修正したものを同梱しました。
投稿者名をコピー機能を改善
投稿者名をコピーボタンを押したときに、テキストカーソルの位置に名前が挿入されるようになりました。
これまではテキストフィールドの文末に追加されていました。
追加されたディレクトリ
- tegaki/ ディレクトリをアップロード
更新されたアプリ
- chickenpaint/ ディレクトリを上書きアップデート
更新されたファイル
- potiboard.php
- saveklecks.php
(klecksのデータ受信ファイルをTegakiのデータも受信できるように改良しています。) - config.php
(Tegakiを使う/使わないを選択する設定項目が追加されています。設定項目が存在しない時は使うになります。)
更新されたテンプレート
BASIC
- templates/basic/main.blade.php
- templates/basic/res.blade.php
- templates/basic/paint.blade.php
- templates/basic/parts/copyright.blade.php
- templates/basic/parts/paint_form.blade.php
追加されたテンプレート
- templates/basic/paint_tegaki.blade.php
- templates/basic/tgkr_view.blade.php
MONO
- templates/mono/mono_main.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_copyright.blade.php
- templates/mono/parts/mono_paint_form.blade.php
追加されたテンプレート
- templates/mono/paint_tegaki.blade.php
mono/tgkr_view.blade.php
テンプレートをカスタマイズしていない方は、
templates/
ディレクトリを上書きアップデートしてください。
[2023/06/11] v5.60.0
ペイントアプリの非推奨になったJavaScriptを修正
- PaintBBS NEOをv1.6.0に更新しました。独自拡張版として運用していたバージョンを開発元にマージしていただく事ができました。
- ChickenPaintの独自修正版を同梱しました。
Klecksがレイヤー二枚で起動するようになりました。
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- neo.js
- potiboard.php
変更があったテンプレート
- templates/basic/paint_klecks.blade.php
- templates/mono/paint_klecks.blade.php
[2023/05/20] v5.59.0
バグ修正
- Tweetボタンを押した時に記事の固定リンクのURLが正しくセットされなくなっていたのを修正しました。
- このバグはv5.58.6で発生し、v5.59.0で修正されました。
jQuery更新
- jQueryをjQuery3.6.0からjQuery3.7.0に更新しました。
- jQueryのバージョン管理はpotiboard.phpの内部で行っているため、個別のテンプレートの修正は必要ありません。
非推奨になったJavaScriptとjQueryの構文を修正しました
- templates/basic/js/basic_common.js
- templates/mono/js/mono_common.js
各ファイルの非推奨になったJavaScriptとjQueryの構文を修正しました。
変更があったファイル
- potiboard.php
追加されたファイル
- lib/jquery-3.7.0.min.js
変更があったテンプレート
- templates/basic/js/basic_common.js
- templates/mono/js/mono_common.js
[2023/05/07] v5.58.9.1
Klecks更新
- klecks/ ディレクトリを上書きアップデート
BladeOne更新
- BladeOne/ ディレクトリを上書きアップデート
変更があったテンプレート
MONO
- templates/basic/js/basic_common.js
- templates/basic/other.blade.php
(非推奨になったjQueryの構文を修正しています)
BASIC
- templates/mono/js/mono_common.js
- templates/mono/mono_other.blade.php
(非推奨になったjQueryの構文を修正しています)
[2023/05/03] v5.58.9
klecks更新
- /klecks ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
[2023/04/25] v5.58.8
chickenpaint更新
chickenpaintをiPadのフルスクリーンモード、あるいはiPhoneで使用した時に、パレットメニューが画面外に出る、描画領域の縦横比が縦に伸びる、横に伸びるなどの問題が発生していました。
フルスクリーンモードの時のスタイルシートが原因でした。ただしこれは、iPad、iPhoneの時にのみ発生する問題です。
逆にいうと、PC+Chromeで問題が発生していなくても、iPadユーザーがChickenPaintを使用する時にはトラブルが発生していたということです。
v5.58.8と、控えめなバージョン番号の差ですが、chickenpaint/
ディレクトリの上書きアップデートのみでも構いませんので、更新をご検討ください。
現時点では開発元での修正はまだ行われておらず、これは独自修正版です。
プルリクエストを行い、開発元にこれを統合するかどうかの判断をお願いしているところです。
thenickdude/chickenpaint#52
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_paint.blade.php
BASIC
- templates/basic/paint.blade.php
(iPad+ChickenPaintのフルスクリーンモードで発生していた問題が解決したので、ChickenPaintがフルスクリーンモードで起動する設定に戻しました。)
[2023/04/13] v5.58.5
ChickenPaint更新
- iPadでデバイスの向きを変更すると描画領域のアスペクト比が壊れる問題に対応するため、ChickenPaintを独自にカスタマイズしてビルドしたバージョンのものを同梱しました。(問題が解決するまでの暫定措置)
- この問題はChickenPaintをフルスクリーンモードで使用している時にだけ発生します。
- そのためフルスクリーンモードでの起動をとりやめて通常モードで起動するようにしました。
ChickenPaintのメニューバーからフルスクリーンモードを選択すればフルスクリーンモードへの表示の切り替えは可能です。
改善
PaintBBS NEOの動的パレットの非推奨になったJavaScriptを修正
- WCS動的パレットスクリプトのsubstr()をsubstring()に書き直しました。
String.prototype.substr() - JavaScript | MDN MDN
続きを描く→新規投稿の時に同じスレッドに投稿するかどうかを選択可能に
古いバージョンでは、続きを描く→新規投稿を選択すると新しいスレッドへの投稿になっていました。
たとえば1枚の線画の塗り絵を10名が行う時に10スレッド必要でした。
これを1つのスレッドにまとめる事ができるようになります。
また返信として投稿されたお絵かき画像からの続きを描く時には、同じスレッドへの投稿になるようにしていましたが、こちらも返信からの新規投稿を新しいスレッドに投稿したい場合があり、自由に選択できるようにするべきという結論に達しました。
その選択のために「同じスレッドに投稿する」というチェックボックスを追加しました。
しかし「画像差し換え」の場合は同じスレッドに投稿するより他ないためこの選択肢は不要です。
そこで、JavaScriptを使って、新規投稿を選択した時のみ「同じスレッドに投稿する」というチェックボックスを表示するようにしました。
ホスト名が逆引きできずIPアドレスになる時の拒絶処理を修正
ホスト名で拒絶する時の一般的な例は後方一致です。
example.com
のように後ろの方が一致する部分を拒絶します。
しかし、IPアドレスの場合は前方一致で拒絶する必要があります。
ホスト名が取得出来ないIPアドレスからの投稿の時はホスト名にIPアドレスが表示されますが、IPアドレスの拒絶処理も後方一致になってしまい拒絶不能になっていました。
そこで、ホスト名とIPアドレスが同じユーザーの時は、ホスト名として表示されているIPアドレスの前から数文字分を指定して前方一致で拒絶できるようにしました。
$badhost =["example.com","100.100.200"];
このように設定した場合、
"example.com"は後方一致で拒絶処理が行われ、"100.100.200"は前方一致で拒絶処理が行われます。
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
- BladeOne/ ディレクトリを上書きアップデート
変更があったファイル
- config.php (設定項目が一箇所減っていますが、すでに設定ずみのconfig.phpと互換性がありますので変更する必要はありません)
- potiboard.php
- search.php
変更があったテンプレート
MONO
- templates/mono/css/ ディレクトリを上書きアップデート
cssをカスタマイズしている方はエディタの内容比較機能等をご利用ください。
かならずしもcssの変更が必要になる訳ではありませんので問題がなければ変更せずそのままお使いください。 - templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/search.blade.php
- templates/mono/template_ini.php
BASIC
- templates/basic/basic.css
cssをカスタマイズしている方はエディタの内容比較機能等をご利用ください。
かならずしもcssの変更が必要になる訳ではありませんので問題がなければ変更せずそのままお使いください。 - templates/basic/catalog.blade.php
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/template_ini.php
[2023/02/26] v5.56.3
Klecksを最新版にアップデート
- ダークテーマが選択可能になりました。
- フランス語に対応しました。
- iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。
BladeOneを最新版にアップデート
- BladeOneをv4.8に更新しました。
改善
- 検索画面の並び方が、最新順にならないケースがあったのを修正しました。
- 検索画面のコードを改善しました。
変更があったディレクトリ
- klecks/ ディレクトリを上書きアップデート
- BladeOne/ ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
- search.php
POTI-board EVO v5.56.2.3 リリース
[2023/02/11] v5.56.2.3
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合...
POTI-board EVO v5.60.0 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.60.0 リリース
[2023/06/11] v5.60.0
ペイントアプリの非推奨になったJavaScriptを修正
- PaintBBS NEOをv1.6.0に更新しました。独自拡張版として運用していたバージョンを開発元にマージしていただく事ができました。
- ChickenPaintの独自修正版を同梱しました。
Klecksがレイヤー二枚で起動するようになりました。
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- neo.js
- potiboard.php
変更があったテンプレート
- templates/basic/paint_klecks.blade.php
- templates/mono/paint_klecks.blade.php
[2023/05/20] v5.59.0
バグ修正
- Tweetボタンを押した時に記事の固定リンクのURLが正しくセットされなくなっていたのを修正しました。
- このバグはv5.58.6で発生し、v5.59.0で修正されました。
jQuery更新
- jQueryをjQuery3.6.0からjQuery3.7.0に更新しました。
- jQueryのバージョン管理はpotiboard.phpの内部で行っているため、個別のテンプレートの修正は必要ありません。
非推奨になったJavaScriptとjQueryの構文を修正しました
- templates/basic/js/basic_common.js
- templates/mono/js/mono_common.js
各ファイルの非推奨になったJavaScriptとjQueryの構文を修正しました。
変更があったファイル
- potiboard.php
追加されたファイル
- lib/jquery-3.7.0.min.js
変更があったテンプレート
- templates/basic/js/basic_common.js
- templates/mono/js/mono_common.js
[2023/05/07] v5.58.9.1
Klecks更新
- klecks/ ディレクトリを上書きアップデート
BladeOne更新
- BladeOne/ ディレクトリを上書きアップデート
変更があったテンプレート
MONO
- templates/basic/js/basic_common.js
- templates/basic/other.blade.php
(非推奨になったjQueryの構文を修正しています)
BASIC
- templates/mono/js/mono_common.js
- templates/mono/mono_other.blade.php
(非推奨になったjQueryの構文を修正しています)
[2023/05/03] v5.58.9
klecks更新
- /klecks ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
[2023/04/25] v5.58.8
chickenpaint更新
chickenpaintをiPadのフルスクリーンモード、あるいはiPhoneで使用した時に、パレットメニューが画面外に出る、描画領域の縦横比が縦に伸びる、横に伸びるなどの問題が発生していました。
フルスクリーンモードの時のスタイルシートが原因でした。ただしこれは、iPad、iPhoneの時にのみ発生する問題です。
逆にいうと、PC+Chromeで問題が発生していなくても、iPadユーザーがChickenPaintを使用する時にはトラブルが発生していたということです。
v5.58.8と、控えめなバージョン番号の差ですが、chickenpaint/
ディレクトリの上書きアップデートのみでも構いませんので、更新をご検討ください。
現時点では開発元での修正はまだ行われておらず、これは独自修正版です。
プルリクエストを行い、開発元にこれを統合するかどうかの判断をお願いしているところです。
thenickdude/chickenpaint#52
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_paint.blade.php
BASIC
- templates/basic/paint.blade.php
(iPad+ChickenPaintのフルスクリーンモードで発生していた問題が解決したので、ChickenPaintがフルスクリーンモードで起動する設定に戻しました。)
[2023/04/13] v5.58.5
ChickenPaint更新
- iPadでデバイスの向きを変更すると描画領域のアスペクト比が壊れる問題に対応するため、ChickenPaintを独自にカスタマイズしてビルドしたバージョンのものを同梱しました。(問題が解決するまでの暫定措置)
- この問題はChickenPaintをフルスクリーンモードで使用している時にだけ発生します。
- そのためフルスクリーンモードでの起動をとりやめて通常モードで起動するようにしました。
ChickenPaintのメニューバーからフルスクリーンモードを選択すればフルスクリーンモードへの表示の切り替えは可能です。
改善
PaintBBS NEOの動的パレットの非推奨になったJavaScriptを修正
- WCS動的パレットスクリプトのsubstr()をsubstring()に書き直しました。
String.prototype.substr() - JavaScript | MDN MDN
続きを描く→新規投稿の時に同じスレッドに投稿するかどうかを選択可能に
古いバージョンでは、続きを描く→新規投稿を選択すると新しいスレッドへの投稿になっていました。
たとえば1枚の線画の塗り絵を10名が行う時に10スレッド必要でした。
これを1つのスレッドにまとめる事ができるようになります。
また返信として投稿されたお絵かき画像からの続きを描く時には、同じスレッドへの投稿になるようにしていましたが、こちらも返信からの新規投稿を新しいスレッドに投稿したい場合があり、自由に選択できるようにするべきという結論に達しました。
その選択のために「同じスレッドに投稿する」というチェックボックスを追加しました。
しかし「画像差し換え」の場合は同じスレッドに投稿するより他ないためこの選択肢は不要です。
そこで、JavaScriptを使って、新規投稿を選択した時のみ「同じスレッドに投稿する」というチェックボックスを表示するようにしました。
ホスト名が逆引きできずIPアドレスになる時の拒絶処理を修正
ホスト名で拒絶する時の一般的な例は後方一致です。
example.com
のように後ろの方が一致する部分を拒絶します。
しかし、IPアドレスの場合は前方一致で拒絶する必要があります。
ホスト名が取得出来ないIPアドレスからの投稿の時はホスト名にIPアドレスが表示されますが、IPアドレスの拒絶処理も後方一致になってしまい拒絶不能になっていました。
そこで、ホスト名とIPアドレスが同じユーザーの時は、ホスト名として表示されているIPアドレスの前から数文字分を指定して前方一致で拒絶できるようにしました。
$badhost =["example.com","100.100.200"];
このように設定した場合、
"example.com"は後方一致で拒絶処理が行われ、"100.100.200"は前方一致で拒絶処理が行われます。
変更があったディレクトリ
- chickenpaint/ ディレクトリを上書きアップデート
- BladeOne/ ディレクトリを上書きアップデート
変更があったファイル
- config.php (設定項目が一箇所減っていますが、すでに設定ずみのconfig.phpと互換性がありますので変更する必要はありません)
- potiboard.php
- search.php
変更があったテンプレート
MONO
- templates/mono/css/ ディレクトリを上書きアップデート
cssをカスタマイズしている方はエディタの内容比較機能等をご利用ください。
かならずしもcssの変更が必要になる訳ではありませんので問題がなければ変更せずそのままお使いください。 - templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/search.blade.php
- templates/mono/template_ini.php
BASIC
- templates/basic/basic.css
cssをカスタマイズしている方はエディタの内容比較機能等をご利用ください。
かならずしもcssの変更が必要になる訳ではありませんので問題がなければ変更せずそのままお使いください。 - templates/basic/catalog.blade.php
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/template_ini.php
[2023/02/26] v5.56.3
Klecksを最新版にアップデート
- ダークテーマが選択可能になりました。
- フランス語に対応しました。
- iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。
BladeOneを最新版にアップデート
- BladeOneをv4.8に更新しました。
改善
- 検索画面の並び方が、最新順にならないケースがあったのを修正しました。
- 検索画面のコードを改善しました。
変更があったディレクトリ
- klecks/ ディレクトリを上書きアップデート
- BladeOne/ ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
- search.php
POTI-board EVO v5.56.2.3 リリース
[2023/02/11] v5.56.2.3
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合、再度投稿ボタン押せば投稿に成功します。
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2023/02/09] v5.56.2.2
- 入れ忘れていたklecksのヘルプファイルを追加しました。
klecks/
フォルダをアップデート、または、klecks/help.html
を個別にアップロードします。
[2023/01/19] v5.56.2
config.phpで、URLの入力欄を使用するしないを設定できるようになりました。
//URL入力欄を使用する する:1 しない:0
define("USE_URL_INPUT_FIELD", "1");
//しない:0 で、フォームの入力欄からURL欄が消えます。
//フォームを偽装してもURLの入力ができなくなります。
本文へのURLの書き込み禁止にあわせて、URL欄へのURLの記入もできなくすれば、URLを書き込む事が目的の広告スパムを排除する事ができます。
本文へのURL書き込み禁止のURL判定はかなり厳しい条件になっているため、例えばhttp://
を省略しても広告スパムのURLを書き込む事はほぼできない筈です。
テンプレートにURL欄や題名欄が存在しない時にJavaScriptのエラーで送信できなくなる問題を修正しました。
これはバグではないのですが、ユーザーによるテンプレートの修正があった場合でも正常に動作するようにJavaScriptを書きなおしました。
PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫
コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。
また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。
変更があったファイル
- neo.js
- potiboard.php
- config.php
config.phpは、新規設定項目が必要な方のみ更新すればいいようになっています。
従来通りの設定で構わない場合は、変更せずそのままご利用ください。
変更があったテンプレート
BASIC
- templates/basic/js/basic_common.js
- templates/basic/res.blade.php
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
MONO
- templates/mono/js/mono_common.js
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
[2023/01/19] v5.55.8.5
バグ修正
- PHP8.1、PHP8.2ではエラーが発生しないため見落としてしまっていた
saveneo.php
の大きなバグを修正しました。
PHP5.6-PHP7.x環境で、PaintBBS NEOのデータの受信がまったくできなくなっていました。これは、古いバージョンのPHPでは致命的エラーになる書き方をしてしまっていたためです。
saveneo.phpの上書きアップデートをお願いします。
変更があったファイル
- saveneo.php
[2023/01/14] v5.55.8.2
バグ修正
//セキュリティタイマー(単位:秒)。設定しないなら""で
define("SECURITY_TIMER", "");
で、描画に必要な最低秒数が設定されているときに、本来であれば「あと15秒」のように表示されるべきアラートの表示が、すべて「あと0秒」になるバグを修正しました。
例えばこのバグがある状態でも60秒で設定していれば、60秒を超えていれば普通に投稿できます。
しかし、残り時間は正確に表示されず、すべて「あと0秒」になっていました。
変更があったファイル
- picpost.php
- save.php
- saveklecks.php
- saveneo.php
[2023/01/14] v5.55.8.1
バグ修正
- saveneo.phpのバグを修正しました。
昨日追加したばかりの新しいNEOの受信PHPスクリプト、saveneo.phpのバグを修正しました。
不正画像検出時のエラー、対応ブラウザでは無かった時のエラーの時に、お絵かき画面にアラートが開いてエラーメッセージを知らせる箇所にバグがありました。
上記該当エラー発生時に、描いている絵の画面から画面が推移してしまい投稿画像が消えてしまうバグを修正しました。
[2023/01/13] v5.55.8
WAFによる誤検知のエラーを回避するためPaintBBS NEOの通信を生データからformDataに変更しました。
- 従来のお絵かき掲示板に投稿できるようにするために、生データを送信していたNEOを改造して、formDataでヘッダ、画像、動画データを送信できるようにしました。
この変更によりWAFがNEOの送信データを攻撃と判断して遮断する確率が低くなり投稿が成功する確率が飛躍的に高くなります。
ここ数年セキュリティを確保するためにWAFを導入しているレンタルサーバが増えています。
しかしながら、攻撃ではない通常の投稿もWAFによって遮断される事があります。
NEOはこれまで生データを古い掲示板との互換性を確保するために送信してきました。今回の独自拡張でによってそれが、formDataに変わります。
現時点では独自規格ですが規格が乱立するのはよくない事ですので、開発元にプルリクエストを出しています。
予定では3月頃のようですが、formData対応版の正式版がNEOの開発元から出た時点で、再度、掲示板側の対応を行います。
WAFに攻撃と判断されないようにするため、formDataで個別にデータを送信するオプションを追加。 by satopian · Pull Request #94 · funige/neo
そのため、WAFの影響で投稿できなくて困っている人のための緊急アップデートのような形になりました。
これは暫定措置ですので、仕様が今後変更になる可能性があります。
重要な変更点
- しぃペインターのデータの受信はこれまで通り、
picpost.php
で行います。
しかし、PaintBBS NEOのデータの受信は、新しく追加した、saveneo.php
で行います。
このファイルのアップロードを忘れると、NEOからの投稿ができなくなりますので、必ずアップデートしてください。
potiboard.phpと同じディレクトリに転送します。 - Paint画面のテンプレートの更新
mono_paint.blade.php
paint.blade.php
の更新をお願いします。
formDataで送信するモードに切り替えるためのパラメータが追加されています。
ここで重要なのは、neo.jsがブラウザによってキャッシュされている場合です...
POTI-board EVO v5.56.3 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.56.3 リリース
[2023/02/26] v5.56.3
Klecksを最新版にアップデート
- ダークテーマが選択可能になりました。
- フランス語に対応しました。
- iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。
BladeOneを最新版にアップデート
- BladeOneをv4.8に更新しました。
改善
- 検索画面の並び方が、最新順にならないケースがあったのを修正しました。
- 検索画面のコードを改善しました。
変更があったディレクトリ
- klecks/ ディレクトリを上書きアップデート
- BladeOne/ ディレクトリを上書きアップデート
変更があったファイル
- potiboard.php
- search.php
POTI-board EVO v5.56.2.3 リリース
[2023/02/11] v5.56.2.3
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合、再度投稿ボタン押せば投稿に成功します。
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2023/02/09] v5.56.2.2
- 入れ忘れていたklecksのヘルプファイルを追加しました。
klecks/
フォルダをアップデート、または、klecks/help.html
を個別にアップロードします。
[2023/01/19] v5.56.2
config.phpで、URLの入力欄を使用するしないを設定できるようになりました。
//URL入力欄を使用する する:1 しない:0
define("USE_URL_INPUT_FIELD", "1");
//しない:0 で、フォームの入力欄からURL欄が消えます。
//フォームを偽装してもURLの入力ができなくなります。
本文へのURLの書き込み禁止にあわせて、URL欄へのURLの記入もできなくすれば、URLを書き込む事が目的の広告スパムを排除する事ができます。
本文へのURL書き込み禁止のURL判定はかなり厳しい条件になっているため、例えばhttp://
を省略しても広告スパムのURLを書き込む事はほぼできない筈です。
テンプレートにURL欄や題名欄が存在しない時にJavaScriptのエラーで送信できなくなる問題を修正しました。
これはバグではないのですが、ユーザーによるテンプレートの修正があった場合でも正常に動作するようにJavaScriptを書きなおしました。
PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫
コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。
また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。
変更があったファイル
- neo.js
- potiboard.php
- config.php
config.phpは、新規設定項目が必要な方のみ更新すればいいようになっています。
従来通りの設定で構わない場合は、変更せずそのままご利用ください。
変更があったテンプレート
BASIC
- templates/basic/js/basic_common.js
- templates/basic/res.blade.php
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
MONO
- templates/mono/js/mono_common.js
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
[2023/01/19] v5.55.8.5
バグ修正
- PHP8.1、PHP8.2ではエラーが発生しないため見落としてしまっていた
saveneo.php
の大きなバグを修正しました。
PHP5.6-PHP7.x環境で、PaintBBS NEOのデータの受信がまったくできなくなっていました。これは、古いバージョンのPHPでは致命的エラーになる書き方をしてしまっていたためです。
saveneo.phpの上書きアップデートをお願いします。
変更があったファイル
- saveneo.php
[2023/01/14] v5.55.8.2
バグ修正
//セキュリティタイマー(単位:秒)。設定しないなら""で
define("SECURITY_TIMER", "");
で、描画に必要な最低秒数が設定されているときに、本来であれば「あと15秒」のように表示されるべきアラートの表示が、すべて「あと0秒」になるバグを修正しました。
例えばこのバグがある状態でも60秒で設定していれば、60秒を超えていれば普通に投稿できます。
しかし、残り時間は正確に表示されず、すべて「あと0秒」になっていました。
変更があったファイル
- picpost.php
- save.php
- saveklecks.php
- saveneo.php
[2023/01/14] v5.55.8.1
バグ修正
- saveneo.phpのバグを修正しました。
昨日追加したばかりの新しいNEOの受信PHPスクリプト、saveneo.phpのバグを修正しました。
不正画像検出時のエラー、対応ブラウザでは無かった時のエラーの時に、お絵かき画面にアラートが開いてエラーメッセージを知らせる箇所にバグがありました。
上記該当エラー発生時に、描いている絵の画面から画面が推移してしまい投稿画像が消えてしまうバグを修正しました。
[2023/01/13] v5.55.8
WAFによる誤検知のエラーを回避するためPaintBBS NEOの通信を生データからformDataに変更しました。
- 従来のお絵かき掲示板に投稿できるようにするために、生データを送信していたNEOを改造して、formDataでヘッダ、画像、動画データを送信できるようにしました。
この変更によりWAFがNEOの送信データを攻撃と判断して遮断する確率が低くなり投稿が成功する確率が飛躍的に高くなります。
ここ数年セキュリティを確保するためにWAFを導入しているレンタルサーバが増えています。
しかしながら、攻撃ではない通常の投稿もWAFによって遮断される事があります。
NEOはこれまで生データを古い掲示板との互換性を確保するために送信してきました。今回の独自拡張でによってそれが、formDataに変わります。
現時点では独自規格ですが規格が乱立するのはよくない事ですので、開発元にプルリクエストを出しています。
予定では3月頃のようですが、formData対応版の正式版がNEOの開発元から出た時点で、再度、掲示板側の対応を行います。
WAFに攻撃と判断されないようにするため、formDataで個別にデータを送信するオプションを追加。 by satopian · Pull Request #94 · funige/neo
そのため、WAFの影響で投稿できなくて困っている人のための緊急アップデートのような形になりました。
これは暫定措置ですので、仕様が今後変更になる可能性があります。
重要な変更点
- しぃペインターのデータの受信はこれまで通り、
picpost.php
で行います。
しかし、PaintBBS NEOのデータの受信は、新しく追加した、saveneo.php
で行います。
このファイルのアップロードを忘れると、NEOからの投稿ができなくなりますので、必ずアップデートしてください。
potiboard.phpと同じディレクトリに転送します。 - Paint画面のテンプレートの更新
mono_paint.blade.php
paint.blade.php
の更新をお願いします。
formDataで送信するモードに切り替えるためのパラメータが追加されています。
ここで重要なのは、neo.jsがブラウザによってキャッシュされている場合です。
新しいバージョンのneo.jsがブラウザに読み込まれる前に、その他のファイルが更新された時は、saveneo.phpによる受信に失敗します。
日付が午前0時になると、neo.jsのキャッシュがクリアされる仕様ですので、午後11時30分ごろに更新するのが一番安全です。
更新作業の途中で描き始めていた方がいたとしても、従来のpicpost.phpによる受信がおそらく成功するでしょう。
とにかく、WAFが必須な時代になってもしぃお絵かき掲示板が使える環境がなんとかできたという事で、WAFによってお絵かき掲示板が絶滅させられる心配がほぼなくなりました。
使用するお絵かアプリの設定方法
//PaintBBS NEOを使う 使う:1 使わない:0
define("USE_PAINTBBS_NEO", "1");
//しぃペインターを使う 使う:1 使わない:0
define("USE_SHI_PAINTER", "1");
//ChickenPaintを使う 使う:1 使わない:0
define("USE_CHICKENPAINT", "1");
//klecksを使う 使う:1 使わない:0
define("USE_KLECKS", "1");
//管理者は設定に関わらすべてのアプリを使用できるようにする する:1 しない:0
define('ALLOW_ADMINS_TO_USE_ALL_APPS_REGARDLESS_OF_SETTINGS', '1');
これまでは、PaintBBS NEOを使用するアプリから外す事ができませんでしたが、NEOを使う使わないも選択可能になりました。
すべて使わないに設定すると、お絵かき機能を使用しない設定になります。
Klecksだけ使う、ChickenPaintだけ使う設定にする事もできます。
使用するアプリが1つしか無い時はアプリ選択のプルダウンメニューが消えてすっきりした画面になります。
描画時間による制限
たとえば1分以下で描いた線だけの投稿は拒絶したい時は、
//セキュリティタイマー(単位:秒)。設定しないなら""で
define("SECURITY_TIMER", "");
で必要最低限の描画時間を指定する事ができましたが、これまでは、しぃペインターと、PaintBBS NEOにのみ有効でした。
今回の更新で、ChickenPaintやKlecksでもこの設定が有効になるようになりました。
古い方式では、違反の時は別のサイトに飛ばす(例えば警視庁のサイト)がありましたが、その方式ではなく、「描画時間が短すぎます。あと30秒。」といった内容のアラートが開きます。
変更があったファイル
- neo.js
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- saveneo.php
- config.php
config.phpを細かく設定している方はそのまま使用していただいて大丈夫です。
新しく追加された設定項目が必要な方だけ更新してください。
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/parts/paint_form.blade.php
MONO
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/parts/mono_paint_form.blade.php
※ parts/paint_form.blade.phpのような、parts/ディレクトリの更新も必要です。
テンプレートをカスタマイズしていない場合は、templates/ディレクトリをすべて上書きアップデート。
[2022/12/30] v5.52.8
Javaのpchデータから幅と高さを取り出す事ができるようになりました。
管理画面からのpchファイルのアップロードがより簡単になりました。
v5.22.2で、HTML5版のPaintBBS NEOのpchファイルとしぃペインターのspchファイルをアップロードした時に、自動的にキャンバスサイズがセットされるようになりました。
これまでは、Java版のPaintBBSのpchファイルの幅と高さは自動的に計算されず、例えばキャンバスサイズが500x500の時にそれよりも小さな画像のpch(アニメデータファイル)をアップロードすると、キャンバスの周囲に余白ができる事がありました。
この時に、塗りつぶしなどの操作が含まれている場合は、本来塗りつぶす筈ではない箇所が塗りつぶされる事もありました。
今回の更新で、HTML5版、Java版ともにpchデータから幅と高さを取り出す事ができるようになり、この問題を解決する事ができました。
↑
pchデータとキャンバスサイズが一致していない時と一致している時を比較。
一致している画面は今回の更新でpchデータから幅と高さを取得したもの。
しかしながら、CheerpJアプレットランナーの最新版では、Java版のPaintBBSからの投稿ができなくなっていますので、実質、pchデータをキャンバスに読み込んで画像化するところまでしかできなくなっています。
Javaアプレットからの投稿はすべて受け付けなくなっている訳ではなく同じくCheerpJで起動したしぃペインターからの投稿も、オラクルのJavaで起動したしぃペインターからの投稿も可能です。
EdgeのIEモードでJavaを使用すれば2023年の環境でしぃペインターを安定的に使う事ができます。
ただし、オラクルのJava8をインストールして、使用するサイトをセキュリティの例外に追加する必要がありますので、少しだけ面倒です。
↑
Javaを使用するサイトを例外リストに追加すればそのサイトでJavaが起動します。
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
MONO
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
[2022/12/28] v5.52.2
PaintBBS NEOの動画ファイルのアップロードペイントが簡単に
- PaintBBS NEOとJavaのしぃペインターの動画の管理者画面からのアップロードペイントがより簡単・便利になりました。
これまで動画ファイルをキャンバスに読み込む前にキャンバスサイズを指定する必要がありました。
v5.52で、動画ファイルからキャンバスサイズを自動的に取得できるようになりました。
ただし、Java版のPaintBBSの動画ファイルのアップロード時にはキャンバスサイズの指定が必要です。(v5.22.8で解決)
HTML5版のPaintBBS NEOの動画ファイルのアップロード時のキャンバスサイズは自動取得できます。
↑
これは、しぃペインター、PaintBBS NEO、Klecks、ChickenPaintそれぞれの固有形式のファイルを管理者画面からアップロードした時の動作を紹介するために制作したGIFアニメです。
キャンバスサイズは300x300のままですが、本来のサイズでキャンバスが開いています。
PSDファイルのダウンロードができるのならアップロードは?と疑問に感じていた方への説明の意味も含めて、ChickenPaintの.chi
ファイルと、Klecksの.psd
ファイル(Photoshop形式)のアップロードも行い動画に記録しました。
変更があったファイル
- potiboard.php
[2022/12/24] v5.51.0
-
PaintBBS NEO 更新 v1.5.16
-
WAF(ウェブアプリケーションファイアウォール)をオンにすると、JavaScriptでCookieを読み込めなくなる問題に対応しました。
WAFをオンにするとCookieが、暗号化され、httpOnly属性が付きます。
POTI-boardでは静的HTMLファイルへのJavaScriptによるCookieのロードを行っています。
そのため、従来のPOTI-boardではWAFをオンにするとフォーム入力内容のCookieを読み込む事ができませんでした。
フォーム入力内容のCookieをPHPプログラムによる発行に加え、JavaScriptでも発行することでこの問題を解決しました。
もっとも、JavaScriptでCookieを読み込む事ができないようにするhttpOnlyのCookieを使ったほうが安全性は高くなりますので、httpOnlyのCookieを使ったお絵かき掲示板を使いたい方は、Petit Noteの利用をご検討ください。
POTI-boardからのログの変換も可能です。
satopian/PetitNote_plugin: お絵かき掲示板 Petit Note のプラグイン -
フォーム入力内容のCookieを発行するJavaScriptをHTMLファイルに入れるとインラインのJavaScriptの行数が多くなってしまうため、外部化...
POTI-board EVO v5.55.8.5 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.55.8.5 リリース
[2023/01/19] v5.55.8.5
バグ修正
- PHP8.1、PHP8.2ではエラーが発生しないため見落としてしまっていた
saveneo.php
の大きなバグを修正しました。
PHP5.6-PHP7.x環境で、PaintBBS NEOのデータの受信がまったくできなくなっていました。これは、古いバージョンのPHPでは致命的エラーになる書き方をしてしまっていたためです。
saveneo.phpの上書きアップデートをお願いします。
変更があったファイル
- saveneo.php
[2023/01/14] v5.55.8.2
バグ修正
//セキュリティタイマー(単位:秒)。設定しないなら""で
define("SECURITY_TIMER", "");
で、描画に必要な最低秒数が設定されているときに、本来であれば「あと15秒」のように表示されるべきアラートの表示が、すべて「あと0秒」になるバグを修正しました。
例えばこのバグがある状態でも60秒で設定していれば、60秒を超えていれば普通に投稿できます。
しかし、残り時間は正確に表示されず、すべて「あと0秒」になっていました。
変更があったファイル
- picpost.php
- save.php
- saveklecks.php
- saveneo.php
[2023/01/14] v5.55.8.1
バグ修正
- saveneo.phpのバグを修正しました。
昨日追加したばかりの新しいNEOの受信PHPスクリプト、saveneo.phpのバグを修正しました。
不正画像検出時のエラー、対応ブラウザでは無かった時のエラーの時に、お絵かき画面にアラートが開いてエラーメッセージを知らせる箇所にバグがありました。
上記該当エラー発生時に、描いている絵の画面から画面が推移してしまい投稿画像が消えてしまうバグを修正しました。
[2023/01/13] v5.55.8
WAFによる誤検知のエラーを回避するためPaintBBS NEOの通信を生データからformDataに変更しました。
- 従来のお絵かき掲示板に投稿できるようにするために、生データを送信していたNEOを改造して、formDataでヘッダ、画像、動画データを送信できるようにしました。
この変更によりWAFがNEOの送信データを攻撃と判断して遮断する確率が低くなり投稿が成功する確率が飛躍的に高くなります。
ここ数年セキュリティを確保するためにWAFを導入しているレンタルサーバが増えています。
しかしながら、攻撃ではない通常の投稿もWAFによって遮断される事があります。
NEOはこれまで生データを古い掲示板との互換性を確保するために送信してきました。今回の独自拡張でによってそれが、formDataに変わります。
現時点では独自規格ですが規格が乱立するのはよくない事ですので、開発元にプルリクエストを出しています。
予定では3月頃のようですが、formData対応版の正式版がNEOの開発元から出た時点で、再度、掲示板側の対応を行います。
WAFに攻撃と判断されないようにするため、formDataで個別にデータを送信するオプションを追加。 by satopian · Pull Request #94 · funige/neo
そのため、WAFの影響で投稿できなくて困っている人のための緊急アップデートのような形になりました。
これは暫定措置ですので、仕様が今後変更になる可能性があります。
重要な変更点
- しぃペインターのデータの受信はこれまで通り、
picpost.php
で行います。
しかし、PaintBBS NEOのデータの受信は、新しく追加した、saveneo.php
で行います。
このファイルのアップロードを忘れると、NEOからの投稿ができなくなりますので、必ずアップデートしてください。
potiboard.phpと同じディレクトリに転送します。 - Paint画面のテンプレートの更新
mono_paint.blade.php
paint.blade.php
の更新をお願いします。
formDataで送信するモードに切り替えるためのパラメータが追加されています。
ここで重要なのは、neo.jsがブラウザによってキャッシュされている場合です。
新しいバージョンのneo.jsがブラウザに読み込まれる前に、その他のファイルが更新された時は、saveneo.phpによる受信に失敗します。
日付が午前0時になると、neo.jsのキャッシュがクリアされる仕様ですので、午後11時30分ごろに更新するのが一番安全です。
更新作業の途中で描き始めていた方がいたとしても、従来のpicpost.phpによる受信がおそらく成功するでしょう。
とにかく、WAFが必須な時代になってもしぃお絵かき掲示板が使える環境がなんとかできたという事で、WAFによってお絵かき掲示板が絶滅させられる心配がほぼなくなりました。
使用するお絵かアプリの設定方法
//PaintBBS NEOを使う 使う:1 使わない:0
define("USE_PAINTBBS_NEO", "1");
//しぃペインターを使う 使う:1 使わない:0
define("USE_SHI_PAINTER", "1");
//ChickenPaintを使う 使う:1 使わない:0
define("USE_CHICKENPAINT", "1");
//klecksを使う 使う:1 使わない:0
define("USE_KLECKS", "1");
//管理者は設定に関わらすべてのアプリを使用できるようにする する:1 しない:0
define('ALLOW_ADMINS_TO_USE_ALL_APPS_REGARDLESS_OF_SETTINGS', '1');
これまでは、PaintBBS NEOを使用するアプリから外す事ができませんでしたが、NEOを使う使わないも選択可能になりました。
すべて使わないに設定すると、お絵かき機能を使用しない設定になります。
Klecksだけ使う、ChickenPaintだけ使う設定にする事もできます。
使用するアプリが1つしか無い時はアプリ選択のプルダウンメニューが消えてすっきりした画面になります。
描画時間による制限
たとえば1分以下で描いた線だけの投稿は拒絶したい時は、
//セキュリティタイマー(単位:秒)。設定しないなら""で
define("SECURITY_TIMER", "");
で必要最低限の描画時間を指定する事ができましたが、これまでは、しぃペインターと、PaintBBS NEOにのみ有効でした。
今回の更新で、ChickenPaintやKlecksでもこの設定が有効になるようになりました。
古い方式では、違反の時は別のサイトに飛ばす(例えば警視庁のサイト)がありましたが、その方式ではなく、「描画時間が短すぎます。あと30秒。」といった内容のアラートが開きます。
変更があったファイル
- neo.js
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- saveneo.php
- config.php
config.phpを細かく設定している方はそのまま使用していただいて大丈夫です。
新しく追加された設定項目が必要な方だけ更新してください。
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/parts/paint_form.blade.php
MONO
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/parts/mono_paint_form.blade.php
※ parts/paint_form.blade.phpのような、parts/ディレクトリの更新も必要です。
テンプレートをカスタマイズしていない場合は、templates/ディレクトリをすべて上書きアップデート。
[2022/12/30] v5.52.8
Javaのpchデータから幅と高さを取り出す事ができるようになりました。
管理画面からのpchファイルのアップロードがより簡単になりました。
v5.22.2で、HTML5版のPaintBBS NEOのpchファイルとしぃペインターのspchファイルをアップロードした時に、自動的にキャンバスサイズがセットされるようになりました。
これまでは、Java版のPaintBBSのpchファイルの幅と高さは自動的に計算されず、例えばキャンバスサイズが500x500の時にそれよりも小さな画像のpch(アニメデータファイル)をアップロードすると、キャンバスの周囲に余白ができる事がありました。
この時に、塗りつぶしなどの操作が含まれている場合は、本来塗りつぶす筈ではない箇所が塗りつぶされる事もありました。
今回の更新で、HTML5版、Java版ともにpchデータから幅と高さを取り出す事ができるようになり、この問題を解決する事ができました。
↑
pchデータとキャンバスサイズが一致していない時と一致している時を比較。
一致している画面は今回の更新でpchデータから幅と高さを取得したもの。
しかしながら、CheerpJアプレットランナーの最新版では、Java版のPaintBBSからの投稿ができなくなっていますので、実質、pchデータをキャンバスに読み込んで画像化するところまでしかできなくなっています。
Javaアプレットからの投稿はすべて受け付けなくなっている訳ではなく同じくCheerpJで起動したしぃペインターからの投稿も、オラクルのJavaで起動したしぃペインターからの投稿も可能です。
EdgeのIEモードでJavaを使用すれば2023年の環境でしぃペインターを安定的に使う事ができます。
ただし、オラクルのJava8をインストールして、使用するサイトをセキュリティの例外に追加する必要がありますので、少しだけ面倒です。
↑
Javaを使用するサイトを例外リストに追加すればそのサイトでJavaが起動します。
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
MONO
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
[2022/12/28] v5.52.2
PaintBBS NEOの動画ファイルのアップロードペイントが簡単に
- PaintBBS NEOとJavaのしぃペインターの動画の管理者画面からのアップロードペイントがより簡単・便利になりました。
これまで動画ファイルをキャンバスに読み込む前にキャンバスサイズを指定する必要がありました。
v5.52で、動画ファイルからキャンバスサイズを自動的に取得できるようになりました。
ただし、Java版のPaintBBSの動画ファイルのアップロード時にはキャンバスサイズの指定が必要です。(v5.22.8で解決)
HTML5版のPaintBBS NEOの動画ファイルのアップロード時のキャンバスサイズは自動取得できます。
↑
これは、しぃペインター、PaintBBS NEO、Klecks、ChickenPaintそれぞれの固有形式のファイルを管理者画面からアップロードした時の動作を紹介するために制作したGIFアニメです。
キャンバスサイズは300x300のままですが、本来のサイズでキャンバスが開いています。
PSDファイルのダウンロードができるのならアップロードは?と疑問に感じていた方への説明の意味も含めて、ChickenPaintの.chi
ファイルと、Klecksの.psd
ファイル(Photoshop形式)のアップロードも行い動画に記録しました。
変更があったファイル
- potiboard.php
[2022/12/24] v5.51.0
-
PaintBBS NEO 更新 v1.5.16
-
WAF(ウェブアプリケーションファイアウォール)をオンにすると、JavaScriptでCookieを読み込めなくなる問題に対応しました。
WAFをオンにするとCookieが、暗号化され、httpOnly属性が付きます。
POTI-boardでは静的HTMLファイルへのJavaScriptによるCookieのロードを行っています。
そのため、従来のPOTI-boardではWAFをオンにするとフォーム入力内容のCookieを読み込む事ができませんでした。
フォーム入力内容のCookieをPHPプログラムによる発行に加え、JavaScriptでも発行することでこの問題を解決しました。
もっとも、JavaScriptでCookieを読み込む事ができないようにするhttpOnlyのCookieを使ったほうが安全性は高くなりますので、httpOnlyのCookieを使ったお絵かき掲示板を使いたい方は、Petit Noteの利用をご検討ください。
POTI-boardからのログの変換も可能です。
satopian/PetitNote_plugin: お絵かき掲示板 Petit Note のプラグイン -
フォーム入力内容のCookieを発行するJavaScriptをHTMLファイルに入れるとインラインのJavaScriptの行数が多くなってしまうため、外部化しました。
そこには、スクロールすると出てくる上に戻るボタンやLuminousのポップアップ表示のためのJavaScriptも入っています。
たびたびテンプレートの更新が必要になってしまいお手数をおかけしますがよろしくお願いします。
templates/basic/js/
のような、JavaScript用のディレクトリもできました。
このディレクトリのアップロードを忘れると、スクロールするとでてくる上に戻るボタンや、画像をクリックすると同じ画面にポップアップするJavaScriptなどが動作しなくなりますので、ご注意ください。
たくさん注意事項を書きましたがテンプレートをカスタマイズしていない方は、templates/
ディレクトリをすべて上書きするだけです。
新規設置の方もすべてアップロードするだけです。
PaintBBS NEO更新 v1.5.16
- neo.js
変更があったファイル
- potiboard.php
変更があったテンプレート (ほぼすべて)
BASIC
- templates/basic/catalog.blade.php
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
追加されたファイル
- templates/basic/js/basic_common.js
MONO
- templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
追加されたファイル
- templates/mono/js/mono_common.js
[2022/12/21] v5.50.11
改善
- XSS対策のためキャンバスサイズのプルダウンメニュー式生成のループの書式を変更しました。
- W3C Markup Validation Serviceによるチェックで警告がでるため、自己終了タグを撤去。
- same-originチェックを追加。別Orijinからの不正な投稿を拒絶するようにしました。
ただしEdgeのIEモード等、Orijinヘッダ非対応ブラウザの場合は、Orijinヘッダのチェックを行いません。
このチェックが必須になると、Javaを使ったしぃペインター起動ができなくなるからです。
たとえば、CheerpJでは、しぃペインターの描画アニメをスムーズに再生する事ができないため、Javaを起動する必要があります。 - 導入が可能な箇所にpost時のCookieチェックを追加しました。
- ディレクトリトラバーサル攻撃からの防御。fopen()に変数が入る時は、basename()で
../../
などの階層を無効化。 - パスワードを5回連続して間違えた時は拒絶。
管理者パスワードを5回連続して間違えた時はそれ以上入力できないように拒絶する事ができるようになりました。
この機能を使いたい方は、config.phpのどの場所でも構いませんので以下の設定項目を追加してご利用ください。
// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");
//ftp等でアクセスして、
//templates/errorlog/error.log
// を削除すると、再度ログインできるようになります。
//このファイルには、間違った管理者パスワードを入力したクライアントのIPアドレスが保存されています。
-
IPアドレス、ホスト名の取得方法を変更。getenv()が使えないサーバに対応しました。
-
user-code repcodeの発行にuniqid()を使用。マイクロタイム単位で変化するようになりました。
-
リプレースコードの文字数を8文字から12文字に増やしました。
-
PaintBBS NEOにWAF誤検知時のエラーメッセージを独自に追加しました。
このエラーメッセージの表示については開発者であるfunigeさんのRepositoryにプルリクエスト中ですが、正式版が今後どうなるのかはまだわかりません。
WAFをオフにするとセキュリティが脆弱になり、WAFをオンにすると、NEOの投稿が失敗する事があるという状況にありますが、WAFによる誤検知だとわかれば、少し加筆すると攻撃とみなされるパターンではなくなる事がほとんどのため、このエラーメッセージに従っていただければ投稿できるようになると思います。
変更があったファイル
- noticemail/noticemail.inc
- config.php
- neo.js
- picp...
POTI-board EVO v5.52.8 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.52.8 リリース
[2022/12/30] v5.52.8
Javaのpchデータから幅と高さを取り出す事ができるようになりました。
管理画面からのpchファイルのアップロードがより簡単になりました。
v5.22.2で、HTML5版のPaintBBS NEOのpchファイルとしぃペインターのspchファイルをアップロードした時に、自動的にキャンバスサイズがセットされるようになりました。
これまでは、Java版のPaintBBSのpchファイルの幅と高さは自動的に計算されず、例えばキャンバスサイズが500x500の時にそれよりも小さな画像のpch(アニメデータファイル)をアップロードすると、キャンバスの周囲に余白ができる事がありました。
この時に、塗りつぶしなどの操作が含まれている場合は、本来塗りつぶす筈ではない箇所が塗りつぶされる事もありました。
今回の更新で、HTML5版、Java版ともにpchデータから幅と高さを取り出す事ができるようになり、この問題を解決する事ができました。
↑
pchデータとキャンバスサイズが一致していない時と一致している時を比較。
一致している画面は今回の更新でpchデータから幅と高さを取得したもの。
しかしながら、CheerpJアプレットランナーの最新版では、Java版のPaintBBSからの投稿ができなくなっていますので、実質、pchデータをキャンバスに読み込んで画像化するところまでしかできなくなっています。
Javaアプレットからの投稿はすべて受け付けなくなっている訳ではなく同じくCheerpJで起動したしぃペインターからの投稿も、オラクルのJavaで起動したしぃペインターからの投稿も可能です。
EdgeのIEモードでJavaを使用すれば2023年の環境でしぃペインターを安定的に使う事ができます。
ただし、オラクルのJava8をインストールして、使用するサイトをセキュリティの例外に追加する必要がありますので、少しだけ面倒です。
↑
Javaを使用するサイトを例外リストに追加すればそのサイトでJavaが起動します。
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
MONO
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
[2022/12/28] v5.52.2
PaintBBS NEOの動画ファイルのアップロードペイントが簡単に
- PaintBBS NEOとJavaのしぃペインターの動画の管理者画面からのアップロードペイントがより簡単・便利になりました。
これまで動画ファイルをキャンバスに読み込む前にキャンバスサイズを指定する必要がありました。
v5.52で、動画ファイルからキャンバスサイズを自動的に取得できるようになりました。
ただし、Java版のPaintBBSの動画ファイルのアップロード時にはキャンバスサイズの指定が必要です。(v5.22.8で解決)
HTML5版のPaintBBS NEOの動画ファイルのアップロード時のキャンバスサイズは自動取得できます。
↑
これは、しぃペインター、PaintBBS NEO、Klecks、ChickenPaintそれぞれの固有形式のファイルを管理者画面からアップロードした時の動作を紹介するために制作したGIFアニメです。
キャンバスサイズは300x300のままですが、本来のサイズでキャンバスが開いています。
PSDファイルのダウンロードができるのならアップロードは?と疑問に感じていた方への説明の意味も含めて、ChickenPaintの.chi
ファイルと、Klecksの.psd
ファイル(Photoshop形式)のアップロードも行い動画に記録しました。
変更があったファイル
- potiboard.php
[2022/12/24] v5.51.0
-
PaintBBS NEO 更新 v1.5.16
-
WAF(ウェブアプリケーションファイアウォール)をオンにすると、JavaScriptでCookieを読み込めなくなる問題に対応しました。
WAFをオンにするとCookieが、暗号化され、httpOnly属性が付きます。
POTI-boardでは静的HTMLファイルへのJavaScriptによるCookieのロードを行っています。
そのため、従来のPOTI-boardではWAFをオンにするとフォーム入力内容のCookieを読み込む事ができませんでした。
フォーム入力内容のCookieをPHPプログラムによる発行に加え、JavaScriptでも発行することでこの問題を解決しました。
もっとも、JavaScriptでCookieを読み込む事ができないようにするhttpOnlyのCookieを使ったほうが安全性は高くなりますので、httpOnlyのCookieを使ったお絵かき掲示板を使いたい方は、Petit Noteの利用をご検討ください。
POTI-boardからのログの変換も可能です。
satopian/PetitNote_plugin: お絵かき掲示板 Petit Note のプラグイン -
フォーム入力内容のCookieを発行するJavaScriptをHTMLファイルに入れるとインラインのJavaScriptの行数が多くなってしまうため、外部化しました。
そこには、スクロールすると出てくる上に戻るボタンやLuminousのポップアップ表示のためのJavaScriptも入っています。
たびたびテンプレートの更新が必要になってしまいお手数をおかけしますがよろしくお願いします。
templates/basic/js/
のような、JavaScript用のディレクトリもできました。
このディレクトリのアップロードを忘れると、スクロールするとでてくる上に戻るボタンや、画像をクリックすると同じ画面にポップアップするJavaScriptなどが動作しなくなりますので、ご注意ください。
たくさん注意事項を書きましたがテンプレートをカスタマイズしていない方は、templates/
ディレクトリをすべて上書きするだけです。
新規設置の方もすべてアップロードするだけです。
PaintBBS NEO更新 v1.5.16
- neo.js
変更があったファイル
- potiboard.php
変更があったテンプレート (ほぼすべて)
BASIC
- templates/basic/catalog.blade.php
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
追加されたファイル
- templates/basic/js/basic_common.js
MONO
- templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
追加されたファイル
- templates/mono/js/mono_common.js
[2022/12/21] v5.50.11
改善
- XSS対策のためキャンバスサイズのプルダウンメニュー式生成のループの書式を変更しました。
- W3C Markup Validation Serviceによるチェックで警告がでるため、自己終了タグを撤去。
- same-originチェックを追加。別Orijinからの不正な投稿を拒絶するようにしました。
ただしEdgeのIEモード等、Orijinヘッダ非対応ブラウザの場合は、Orijinヘッダのチェックを行いません。
このチェックが必須になると、Javaを使ったしぃペインター起動ができなくなるからです。
たとえば、CheerpJでは、しぃペインターの描画アニメをスムーズに再生する事ができないため、Javaを起動する必要があります。 - 導入が可能な箇所にpost時のCookieチェックを追加しました。
- ディレクトリトラバーサル攻撃からの防御。fopen()に変数が入る時は、basename()で
../../
などの階層を無効化。 - パスワードを5回連続して間違えた時は拒絶。
管理者パスワードを5回連続して間違えた時はそれ以上入力できないように拒絶する事ができるようになりました。
この機能を使いたい方は、config.phpのどの場所でも構いませんので以下の設定項目を追加してご利用ください。
// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");
//ftp等でアクセスして、
//templates/errorlog/error.log
// を削除すると、再度ログインできるようになります。
//このファイルには、間違った管理者パスワードを入力したクライアントのIPアドレスが保存されています。
-
IPアドレス、ホスト名の取得方法を変更。getenv()が使えないサーバに対応しました。
-
user-code repcodeの発行にuniqid()を使用。マイクロタイム単位で変化するようになりました。
-
リプレースコードの文字数を8文字から12文字に増やしました。
-
PaintBBS NEOにWAF誤検知時のエラーメッセージを独自に追加しました。
このエラーメッセージの表示については開発者であるfunigeさんのRepositoryにプルリクエスト中ですが、正式版が今後どうなるのかはまだわかりません。
WAFをオフにするとセキュリティが脆弱になり、WAFをオンにすると、NEOの投稿が失敗する事があるという状況にありますが、WAFによる誤検知だとわかれば、少し加筆すると攻撃とみなされるパターンではなくなる事がほとんどのため、このエラーメッセージに従っていただければ投稿できるようになると思います。
変更があったファイル
- noticemail/noticemail.inc
- config.php
- neo.js
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- thumbnail_gd.php
config.php
の更新は新規設定項目が必要な時だけで構いません。
テキストエディタの内容比較機能を使用して、必要な設定項目を追加する事をおすすめします。
変更があったテンプレート
BASIC
- templates/basic/.htaccess
- templates/basic/main.blade.php
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/.htaccess
- templates/mono/mono_main.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
- templates/mono/template_ini.php
[2022/11/30] v5.36.6
更新
- klecksを更新しました。
ブラシのショートカットキーの動作が修正されています。 - BladeOneをv4.7.1に更新しました。
改善
-
投稿時刻の重複を回避。
作業ファイルで使用しているタイムスタンプが重複している時にも投稿時刻を1秒未来へ進めてタイムスタンプの重複を回避。
これまでは、作業ファイルが別のファイルで上書きされる可能性がありました。 -
比較対象の投稿時刻が未来の時はエラーにしない。
投稿の待ち時間の計算処理の時に現在時刻よりも未来の投稿時刻が検出された時は、エラーにならないようにしました。
例えば、なんらかのミスで投稿時刻が1年後になっていた時は、1年経過しないと次の投稿ができなくなるため待ち時間が負の値の時にはエラーにせず通過するようにしました。 -
BladeOne v4.7.1。それにともないキャッシュディレクトリの自動生成を
potiboard.php
で行う形に変更。
BladeOneからキャッシュディレクトリの自動作成機能が削除されました。それに代わる機能としてpotiboard.php
にキャッシュディレクトリ自動作成機能を追加しました。キャッシュディレクトリのパーミッションはこれまでBladeOne側の指定で0777(777)
でしたが、今回の変更で0707(707)
になりました。0777(777)
では動作しないサーバでも動作するようになりました。 -
書き込みが必要なファイルのパーミッションを事前に
0606(606)
に変更。外部表示不可のログファイルは0600(600)
。
ログ変換したファイルをアップロードすると、potiboard.php
が生成したHTMLファイル、画像ファイル、ログファイルのパーミッションは自動的に変更されないままでした。
今回の変更でログファイルやHTMLファイル、そして画像ファイルのパーミッションがある程度自動的に設定できるようになります。
たとえば画像ファイルを削除する処理をする直前に0606(606)
に変更して削除できるようにしたり記事の書き込み時にログファイルを0600(600)
に変更して、ログファイルを外部から呼び出せないようにします。 -
PaintBBS NEOで投稿に失敗した時のユーザーコード不一致の時のエラーメッセージを追加。
PaintBBS NEOのユーザーコード不一致の時のエラーメッセージを追加しました。
ユーザーコードが一致しない時は「時間をおいて再度投稿してみてください。」というエラーメッセージは適切ではなく、時間をおいても投稿不能だからです。 -
Klecksで投稿に失敗した時のエラーメッセージを追加。
サーバのステータスが200以外の時にはエラーメッセージのアラートが開くようになりました。
サーバがダウンしていたり、通信回線が切断されている時にもエラーメッセージが表示されるようになりました。
変更があったディレクトリ
- BladeOne/
- klecks/
変更があったファイル
- picpost.php
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/10/29] v5.35.3
改善
テンプレート共通
- 管理画面の画像ファイルをクリックした時にluminousでポップアップ表示するようになりました。
これまでは画像が別タブで開かれていました。 - 従来の記述では出力するHTMLタグがスクリプト本体にありテンプレートではエスケープする事ができなかった箇所を修正。HTMLパートをテンプレートに移動。出力する値のエスケープをテンプレートで行う事ができるようにしました。
- tweetをTweetに修正しました。
- TOOLをToolに修正しました。
テンプレートMONO
- テンプレートMONOにスクロールすると出てくる上に戻るリンクを追加しました。
- スマホ表示を最適化しました。iPad(768px)以下の解像度の時は画像のfloatを解除。画像のマージンを0に。
これにより、スマホ表示時の画像の左右の余白が同じになります。
これまでは、画面右側の余白が大きくなっていました。 - MONOの管理者削除画面でも、番号をクリックすると管理人による記事の編集ができるようになりました。
セキュリティ
- CheerpJ Applet Runner のスクリプトの中身がハッキング等によって改ざんされた時にはそれを検知してスクリプトが実行されないようにしました。
サブリソース完全性参考MDN。
この技術は、jQueryをCDNで利用する場合にも活用されているものですが、CheerpJのスクリプトのハッシュ値が公開されているわけではありませんので、Linuxのコマンドを使ってハッシュ値を独自に生成しました。
CheerpJのバージョンを変更した時には、ハッシュ値も変更しなければ動かなくなります。
しかしながら、計算ずみのハッシュ値はpotiboard.phpの最新バージョンに開発時に入りますので、エンドユーザーがハッシュ値を意識する必要はありません。 - しぃアプレットや、PaintBBS NEOのデータを受信しているpicpost.phpで受信した画像部分のファイルがjpeg、png等の画像ではなかった時は不正を検知してファイルを削除するようにしました。
しぃアプレット、PaintBBS NEOの描画に必要な時間工程数による拒絶処理を変更しました。
- 描画時間が短かったり、作画工程数が少ない時にお絵かき画面を警視庁のサイトにぶっとばす機能がしぃちゃんによって開発され、その仕様書どおりに警視庁のサイトにリダイレクトする掲示板が数多く存在していました。
しかし、この機能は実用的ではなく、使い所が無い仕様になっていました。
そこで、いきなりお絵かき画面から指定したどこかへぶっとばすのではなく、お絵かき画面に「描画時間が短すぎます」「工程数が少なすぎます」というアラートを表示する仕様に変更しました。
強制サムネイル機能が復活
- v1.3には存在していた強制サムネイル機能を復活させました。
最新のthumbnail_gd.php
を使用する事でこの機能がオンになります。
1MBを超えるファイル容量の時にはjpeg形式のサムネイル画像を出力します。
想定されるケース。縦横のサイズは小さいもののファイルサイズが大きなGIFアニメ画像ファイルの時に、ファイルサイズが1MBを超えて...
POTI-board EVO v5.52.2 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.52.2 リリース
[2022/12/28] v5.52.2
PaintBBS NEOの動画ファイルのアップロードペイントが簡単に
- PaintBBS NEOとJavaのしぃペインターの動画の管理者画面からのアップロードペイントがより簡単・便利になりました。
これまで動画ファイルをキャンバスに読み込む前にキャンバスサイズを指定する必要がありました。
v5.52で、動画ファイルからキャンバスサイズを自動的に取得できるようになりました。
ただし、Java版のPaintBBSの動画ファイルのアップロード時にはキャンバスサイズの指定が必要です。
HTML5版のPaintBBS NEOの動画ファイルのアップロード時のキャンバスサイズは自動取得できます。
↑
これは、しぃペインター、PaintBBS NEO、Klecks、ChickenPaintそれぞれの固有形式のファイルを管理者画面からアップロードした時の動作を紹介するために制作したGIFアニメです。
キャンバスサイズは300x300のままですが、本来のサイズでキャンバスが開いています。
PSDファイルのダウンロードができるのならアップロードは?と疑問に感じていた方への説明の意味も含めて、ChickenPaintの.chi
ファイルと、Klecksの.psd
ファイル(Photoshop形式)のアップロードも行い動画に記録しました。
変更があったファイル
- potiboard.php
[2022/12/24] v5.51.0
-
PaintBBS NEO 更新 v1.5.16
-
WAF(ウェブアプリケーションファイアウォール)をオンにすると、JavaScriptでCookieを読み込めなくなる問題に対応しました。
WAFをオンにするとCookieが、暗号化され、httpOnly属性が付きます。
POTI-boardでは静的HTMLファイルへのJavaScriptによるCookieのロードを行っています。
そのため、従来のPOTI-boardではWAFをオンにするとフォーム入力内容のCookieを読み込む事ができませんでした。
フォーム入力内容のCookieをPHPプログラムによる発行に加え、JavaScriptでも発行することでこの問題を解決しました。
もっとも、JavaScriptでCookieを読み込む事ができないようにするhttpOnlyのCookieを使ったほうが安全性は高くなりますので、httpOnlyのCookieを使ったお絵かき掲示板を使いたい方は、Petit Noteの利用をご検討ください。
POTI-boardからのログの変換も可能です。
satopian/PetitNote_plugin: お絵かき掲示板 Petit Note のプラグイン -
フォーム入力内容のCookieを発行するJavaScriptをHTMLファイルに入れるとインラインのJavaScriptの行数が多くなってしまうため、外部化しました。
そこには、スクロールすると出てくる上に戻るボタンやLuminousのポップアップ表示のためのJavaScriptも入っています。
たびたびテンプレートの更新が必要になってしまいお手数をおかけしますがよろしくお願いします。
templates/basic/js/
のような、JavaScript用のディレクトリもできました。
このディレクトリのアップロードを忘れると、スクロールするとでてくる上に戻るボタンや、画像をクリックすると同じ画面にポップアップするJavaScriptなどが動作しなくなりますので、ご注意ください。
たくさん注意事項を書きましたがテンプレートをカスタマイズしていない方は、templates/
ディレクトリをすべて上書きするだけです。
新規設置の方もすべてアップロードするだけです。
PaintBBS NEO更新 v1.5.16
- neo.js
変更があったファイル
- potiboard.php
変更があったテンプレート (ほぼすべて)
BASIC
- templates/basic/catalog.blade.php
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
追加されたファイル
- templates/basic/js/basic_common.js
MONO
- templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
追加されたファイル
- templates/mono/js/mono_common.js
[2022/12/21] v5.50.11
改善
- XSS対策のためキャンバスサイズのプルダウンメニュー式生成のループの書式を変更しました。
- W3C Markup Validation Serviceによるチェックで警告がでるため、自己終了タグを撤去。
- same-originチェックを追加。別Orijinからの不正な投稿を拒絶するようにしました。
ただしEdgeのIEモード等、Orijinヘッダ非対応ブラウザの場合は、Orijinヘッダのチェックを行いません。
このチェックが必須になると、Javaを使ったしぃペインター起動ができなくなるからです。
たとえば、CheerpJでは、しぃペインターの描画アニメをスムーズに再生する事ができないため、Javaを起動する必要があります。 - 導入が可能な箇所にpost時のCookieチェックを追加しました。
- ディレクトリトラバーサル攻撃からの防御。fopen()に変数が入る時は、basename()で
../../
などの階層を無効化。 - パスワードを5回連続して間違えた時は拒絶。
管理者パスワードを5回連続して間違えた時はそれ以上入力できないように拒絶する事ができるようになりました。
この機能を使いたい方は、config.phpのどの場所でも構いませんので以下の設定項目を追加してご利用ください。
// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");
//ftp等でアクセスして、
//templates/errorlog/error.log
// を削除すると、再度ログインできるようになります。
//このファイルには、間違った管理者パスワードを入力したクライアントのIPアドレスが保存されています。
-
IPアドレス、ホスト名の取得方法を変更。getenv()が使えないサーバに対応しました。
-
user-code repcodeの発行にuniqid()を使用。マイクロタイム単位で変化するようになりました。
-
リプレースコードの文字数を8文字から12文字に増やしました。
-
PaintBBS NEOにWAF誤検知時のエラーメッセージを独自に追加しました。
このエラーメッセージの表示については開発者であるfunigeさんのRepositoryにプルリクエスト中ですが、正式版が今後どうなるのかはまだわかりません。
WAFをオフにするとセキュリティが脆弱になり、WAFをオンにすると、NEOの投稿が失敗する事があるという状況にありますが、WAFによる誤検知だとわかれば、少し加筆すると攻撃とみなされるパターンではなくなる事がほとんどのため、このエラーメッセージに従っていただければ投稿できるようになると思います。
変更があったファイル
- noticemail/noticemail.inc
- config.php
- neo.js
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- thumbnail_gd.php
config.php
の更新は新規設定項目が必要な時だけで構いません。
テキストエディタの内容比較機能を使用して、必要な設定項目を追加する事をおすすめします。
変更があったテンプレート
BASIC
- templates/basic/.htaccess
- templates/basic/main.blade.php
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/.htaccess
- templates/mono/mono_main.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
- templates/mono/template_ini.php
[2022/11/30] v5.36.6
更新
- klecksを更新しました。
ブラシのショートカットキーの動作が修正されています。 - BladeOneをv4.7.1に更新しました。
改善
-
投稿時刻の重複を回避。
作業ファイルで使用しているタイムスタンプが重複している時にも投稿時刻を1秒未来へ進めてタイムスタンプの重複を回避。
これまでは、作業ファイルが別のファイルで上書きされる可能性がありました。 -
比較対象の投稿時刻が未来の時はエラーにしない。
投稿の待ち時間の計算処理の時に現在時刻よりも未来の投稿時刻が検出された時は、エラーにならないようにしました。
例えば、なんらかのミスで投稿時刻が1年後になっていた時は、1年経過しないと次の投稿ができなくなるため待ち時間が負の値の時にはエラーにせず通過するようにしました。 -
BladeOne v4.7.1。それにともないキャッシュディレクトリの自動生成を
potiboard.php
で行う形に変更。
BladeOneからキャッシュディレクトリの自動作成機能が削除されました。それに代わる機能としてpotiboard.php
にキャッシュディレクトリ自動作成機能を追加しました。キャッシュディレクトリのパーミッションはこれまでBladeOne側の指定で0777(777)
でしたが、今回の変更で0707(707)
になりました。0777(777)
では動作しないサーバでも動作するようになりました。 -
書き込みが必要なファイルのパーミッションを事前に
0606(606)
に変更。外部表示不可のログファイルは0600(600)
。
ログ変換したファイルをアップロードすると、potiboard.php
が生成したHTMLファイル、画像ファイル、ログファイルのパーミッションは自動的に変更されないままでした。
今回の変更でログファイルやHTMLファイル、そして画像ファイルのパーミッションがある程度自動的に設定できるようになります。
たとえば画像ファイルを削除する処理をする直前に0606(606)
に変更して削除できるようにしたり記事の書き込み時にログファイルを0600(600)
に変更して、ログファイルを外部から呼び出せないようにします。 -
PaintBBS NEOで投稿に失敗した時のユーザーコード不一致の時のエラーメッセージを追加。
PaintBBS NEOのユーザーコード不一致の時のエラーメッセージを追加しました。
ユーザーコードが一致しない時は「時間をおいて再度投稿してみてください。」というエラーメッセージは適切ではなく、時間をおいても投稿不能だからです。 -
Klecksで投稿に失敗した時のエラーメッセージを追加。
サーバのステータスが200以外の時にはエラーメッセージのアラートが開くようになりました。
サーバがダウンしていたり、通信回線が切断されている時にもエラーメッセージが表示されるようになりました。
変更があったディレクトリ
- BladeOne/
- klecks/
変更があったファイル
- picpost.php
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/10/29] v5.35.3
改善
テンプレート共通
- 管理画面の画像ファイルをクリックした時にluminousでポップアップ表示するようになりました。
これまでは画像が別タブで開かれていました。 - 従来の記述では出力するHTMLタグがスクリプト本体にありテンプレートではエスケープする事ができなかった箇所を修正。HTMLパートをテンプレートに移動。出力する値のエスケープをテンプレートで行う事ができるようにしました。
- tweetをTweetに修正しました。
- TOOLをToolに修正しました。
テンプレートMONO
- テンプレートMONOにスクロールすると出てくる上に戻るリンクを追加しました。
- スマホ表示を最適化しました。iPad(768px)以下の解像度の時は画像のfloatを解除。画像のマージンを0に。
これにより、スマホ表示時の画像の左右の余白が同じになります。
これまでは、画面右側の余白が大きくなっていました。 - MONOの管理者削除画面でも、番号をクリックすると管理人による記事の編集ができるようになりました。
セキュリティ
- CheerpJ Applet Runner のスクリプトの中身がハッキング等によって改ざんされた時にはそれを検知してスクリプトが実行されないようにしました。
サブリソース完全性参考MDN。
この技術は、jQueryをCDNで利用する場合にも活用されているものですが、CheerpJのスクリプトのハッシュ値が公開されているわけではありませんので、Linuxのコマンドを使ってハッシュ値を独自に生成しました。
CheerpJのバージョンを変更した時には、ハッシュ値も変更しなければ動かなくなります。
しかしながら、計算ずみのハッシュ値はpotiboard.phpの最新バージョンに開発時に入りますので、エンドユーザーがハッシュ値を意識する必要はありません。 - しぃアプレットや、PaintBBS NEOのデータを受信しているpicpost.phpで受信した画像部分のファイルがjpeg、png等の画像ではなかった時は不正を検知してファイルを削除するようにしました。
しぃアプレット、PaintBBS NEOの描画に必要な時間工程数による拒絶処理を変更しました。
- 描画時間が短かったり、作画工程数が少ない時にお絵かき画面を警視庁のサイトにぶっとばす機能がしぃちゃんによって開発され、その仕様書どおりに警視庁のサイトにリダイレクトする掲示板が数多く存在していました。
しかし、この機能は実用的ではなく、使い所が無い仕様になっていました。
そこで、いきなりお絵かき画面から指定したどこかへぶっとばすのではなく、お絵かき画面に「描画時間が短すぎます」「工程数が少なすぎます」というアラートを表示する仕様に変更しました。
強制サムネイル機能が復活
- v1.3には存在していた強制サムネイル機能を復活させました。
最新のthumbnail_gd.php
を使用する事でこの機能がオンになります。
1MBを超えるファイル容量の時にはjpeg形式のサムネイル画像を出力します。
想定されるケース。縦横のサイズは小さいもののファイルサイズが大きなGIFアニメ画像ファイルの時に、ファイルサイズが1MBを超えていたらGIFアニメではなく、jpeg形式のサムネイル画像が表示されます。
画像をクリックすればもとのGIFアニメが表示されます。
そのほか
- 動的パレット配色生成箇所のコードを整理しました。
- 画像ファイルが存在しない時は動画の再生を止めてエラー画面を表示するようにしました。以前のままでも実害はありませんが、サーバにエラーログが蓄積される可能性がありました。
- 初期エラーメッセージを日本語・英語自動切り替えに変更しました。
- アップロード可能な上限数を大きめに設定。さくらのレンタルサーバでは5MBが上限なのでphp.iniの設定変更を推奨します。
- 必要のない処理を回避して負荷を削減。例えばコメントが無い時は、コメントの長さ、NGワードを調べる必要がないのですぐにreturnする事で負荷を削減します。
Klecks更新
ゆがみを使用したあとに白く塗りつぶした箇所にゆがみの形にそった線が入る問題が修正されています。
ヘルプページに使い方の動画リンクが追加され、グラデーションのショートカットキーの項目が追加されました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
- thumbnail_gd.php
変更があったテンプレート
- templates/basic/ のすべて
- templates/mono/ のすべて
[2022/10/03] v5.26.8
ChickenPaintを最新版に更新
Chromeのバグを回避
- ChickenPaintのカラーピッカーで色を選択する操作をすると、表示されていた色が消え、真っ白になる問題がChromeのバグによって発生しました。
このGoogle Chromeのバグを回避して動作するChickenPaintの最新版に更新しました。
klecksを最新版に更新
- グラデーションツールに消しゴム化オプションが追加されました。
- 集中線を描写する機能が追加されました。
luminousでポップアップ表示
- サムネイルをクリックすると別タブで開く従来の表示方式を見直し。同じタブにポップアップ表示するライトボックス「luminous」を使用して表示します。
searchにスクロールするとでてくる上に戻るボタンを追加。
検索画面にもスクロールするとでてくる上に戻るボタンを追...
POTI-board EVO v5.51.0 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.51.0 リリース
[2022/12/24] v5.51.0
-
PaintBBS NEO 更新 v1.5.16
-
WAF(ウェブアプリケーションファイアウォール)をオンにすると、JavaScriptでCookieを読み込めなくなる問題に対応しました。
WAFをオンにするとCookieが、暗号化され、httpOnly属性が付きます。
POTI-boardでは静的HTMLファイルへのJavaScriptによるCookieのロードを行っています。
そのため、従来のPOTI-boardではWAFをオンにするとフォーム入力内容のCookieを読み込む事ができませんでした。
フォーム入力内容のCookieをPHPプログラムによる発行に加え、JavaScriptでも発行することでこの問題を解決しました。
もっとも、JavaScriptでCookieを読み込む事ができないようにするhttpOnlyのCookieを使ったほうが安全性は高くなりますので、httpOnlyのCookieを使ったお絵かき掲示板を使いたい方は、Petit Noteの利用をご検討ください。
POTI-boardからのログの変換も可能です。
satopian/PetitNote_plugin: お絵かき掲示板 Petit Note のプラグイン -
フォーム入力内容のCookieを発行するJavaScriptをHTMLファイルに入れるとインラインのJavaScriptの行数が多くなってしまうため、外部化しました。
そこには、スクロールすると出てくる上に戻るボタンやLuminousのポップアップ表示のためのJavaScriptも入っています。
たびたびテンプレートの更新が必要になってしまいお手数をおかけしますがよろしくお願いします。
templates/basic/js/
のような、JavaScript用のディレクトリもできました。
このディレクトリのアップロードを忘れると、スクロールするとでてくる上に戻るボタンや、画像をクリックすると同じ画面にポップアップするJavaScriptなどが動作しなくなりますので、ご注意ください。
たくさん注意事項を書きましたがテンプレートをカスタマイズしていない方は、templates/
ディレクトリをすべて上書きするだけです。
新規設置の方もすべてアップロードするだけです。
PaintBBS NEO更新 v1.5.16
- neo.js
変更があったファイル
- potiboard.php
変更があったテンプレート (ほぼすべて)
BASIC
- templates/basic/catalog.blade.php
- templates/basic/main.blade.php
- templates/basic/other.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
追加されたファイル
- templates/basic/js/basic_common.js
MONO
- templates/mono/mono_catalog.blade.php
- templates/mono/mono_main.blade.php
- templates/mono/mono_other.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
追加されたファイル
- templates/mono/js/mono_common.js
[2022/12/21] v5.50.11
改善
- XSS対策のためキャンバスサイズのプルダウンメニュー式生成のループの書式を変更しました。
- W3C Markup Validation Serviceによるチェックで警告がでるため、自己終了タグを撤去。
- same-originチェックを追加。別Orijinからの不正な投稿を拒絶するようにしました。
ただしEdgeのIEモード等、Orijinヘッダ非対応ブラウザの場合は、Orijinヘッダのチェックを行いません。
このチェックが必須になると、Javaを使ったしぃペインター起動ができなくなるからです。
たとえば、CheerpJでは、しぃペインターの描画アニメをスムーズに再生する事ができないため、Javaを起動する必要があります。 - 導入が可能な箇所にpost時のCookieチェックを追加しました。
- ディレクトリトラバーサル攻撃からの防御。fopen()に変数が入る時は、basename()で
../../
などの階層を無効化。 - パスワードを5回連続して間違えた時は拒絶。
管理者パスワードを5回連続して間違えた時はそれ以上入力できないように拒絶する事ができるようになりました。
この機能を使いたい方は、config.phpのどの場所でも構いませんので以下の設定項目を追加してご利用ください。
// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");
//ftp等でアクセスして、
//templates/errorlog/error.log
// を削除すると、再度ログインできるようになります。
//このファイルには、間違った管理者パスワードを入力したクライアントのIPアドレスが保存されています。
-
IPアドレス、ホスト名の取得方法を変更。getenv()が使えないサーバに対応しました。
-
user-code repcodeの発行にuniqid()を使用。マイクロタイム単位で変化するようになりました。
-
リプレースコードの文字数を8文字から12文字に増やしました。
-
PaintBBS NEOにWAF誤検知時のエラーメッセージを独自に追加しました。
このエラーメッセージの表示については開発者であるfunigeさんのRepositoryにプルリクエスト中ですが、正式版が今後どうなるのかはまだわかりません。
WAFをオフにするとセキュリティが脆弱になり、WAFをオンにすると、NEOの投稿が失敗する事があるという状況にありますが、WAFによる誤検知だとわかれば、少し加筆すると攻撃とみなされるパターンではなくなる事がほとんどのため、このエラーメッセージに従っていただければ投稿できるようになると思います。
変更があったファイル
- noticemail/noticemail.inc
- config.php
- neo.js
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- thumbnail_gd.php
config.php
の更新は新規設定項目が必要な時だけで構いません。
テキストエディタの内容比較機能を使用して、必要な設定項目を追加する事をおすすめします。
変更があったテンプレート
BASIC
- templates/basic/.htaccess
- templates/basic/main.blade.php
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/.htaccess
- templates/mono/mono_main.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
- templates/mono/template_ini.php
[2022/11/30] v5.36.6
更新
- klecksを更新しました。
ブラシのショートカットキーの動作が修正されています。 - BladeOneをv4.7.1に更新しました。
改善
-
投稿時刻の重複を回避。
作業ファイルで使用しているタイムスタンプが重複している時にも投稿時刻を1秒未来へ進めてタイムスタンプの重複を回避。
これまでは、作業ファイルが別のファイルで上書きされる可能性がありました。 -
比較対象の投稿時刻が未来の時はエラーにしない。
投稿の待ち時間の計算処理の時に現在時刻よりも未来の投稿時刻が検出された時は、エラーにならないようにしました。
例えば、なんらかのミスで投稿時刻が1年後になっていた時は、1年経過しないと次の投稿ができなくなるため待ち時間が負の値の時にはエラーにせず通過するようにしました。 -
BladeOne v4.7.1。それにともないキャッシュディレクトリの自動生成を
potiboard.php
で行う形に変更。
BladeOneからキャッシュディレクトリの自動作成機能が削除されました。それに代わる機能としてpotiboard.php
にキャッシュディレクトリ自動作成機能を追加しました。キャッシュディレクトリのパーミッションはこれまでBladeOne側の指定で0777(777)
でしたが、今回の変更で0707(707)
になりました。0777(777)
では動作しないサーバでも動作するようになりました。 -
書き込みが必要なファイルのパーミッションを事前に
0606(606)
に変更。外部表示不可のログファイルは0600(600)
。
ログ変換したファイルをアップロードすると、potiboard.php
が生成したHTMLファイル、画像ファイル、ログファイルのパーミッションは自動的に変更されないままでした。
今回の変更でログファイルやHTMLファイル、そして画像ファイルのパーミッションがある程度自動的に設定できるようになります。
たとえば画像ファイルを削除する処理をする直前に0606(606)
に変更して削除できるようにしたり記事の書き込み時にログファイルを0600(600)
に変更して、ログファイルを外部から呼び出せないようにします。 -
PaintBBS NEOで投稿に失敗した時のユーザーコード不一致の時のエラーメッセージを追加。
PaintBBS NEOのユーザーコード不一致の時のエラーメッセージを追加しました。
ユーザーコードが一致しない時は「時間をおいて再度投稿してみてください。」というエラーメッセージは適切ではなく、時間をおいても投稿不能だからです。 -
Klecksで投稿に失敗した時のエラーメッセージを追加。
サーバのステータスが200以外の時にはエラーメッセージのアラートが開くようになりました。
サーバがダウンしていたり、通信回線が切断されている時にもエラーメッセージが表示されるようになりました。
変更があったディレクトリ
- BladeOne/
- klecks/
変更があったファイル
- picpost.php
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/10/29] v5.35.3
改善
テンプレート共通
- 管理画面の画像ファイルをクリックした時にluminousでポップアップ表示するようになりました。
これまでは画像が別タブで開かれていました。 - 従来の記述では出力するHTMLタグがスクリプト本体にありテンプレートではエスケープする事ができなかった箇所を修正。HTMLパートをテンプレートに移動。出力する値のエスケープをテンプレートで行う事ができるようにしました。
- tweetをTweetに修正しました。
- TOOLをToolに修正しました。
テンプレートMONO
- テンプレートMONOにスクロールすると出てくる上に戻るリンクを追加しました。
- スマホ表示を最適化しました。iPad(768px)以下の解像度の時は画像のfloatを解除。画像のマージンを0に。
これにより、スマホ表示時の画像の左右の余白が同じになります。
これまでは、画面右側の余白が大きくなっていました。 - MONOの管理者削除画面でも、番号をクリックすると管理人による記事の編集ができるようになりました。
セキュリティ
- CheerpJ Applet Runner のスクリプトの中身がハッキング等によって改ざんされた時にはそれを検知してスクリプトが実行されないようにしました。
サブリソース完全性参考MDN。
この技術は、jQueryをCDNで利用する場合にも活用されているものですが、CheerpJのスクリプトのハッシュ値が公開されているわけではありませんので、Linuxのコマンドを使ってハッシュ値を独自に生成しました。
CheerpJのバージョンを変更した時には、ハッシュ値も変更しなければ動かなくなります。
しかしながら、計算ずみのハッシュ値はpotiboard.phpの最新バージョンに開発時に入りますので、エンドユーザーがハッシュ値を意識する必要はありません。 - しぃアプレットや、PaintBBS NEOのデータを受信しているpicpost.phpで受信した画像部分のファイルがjpeg、png等の画像ではなかった時は不正を検知してファイルを削除するようにしました。
しぃアプレット、PaintBBS NEOの描画に必要な時間工程数による拒絶処理を変更しました。
- 描画時間が短かったり、作画工程数が少ない時にお絵かき画面を警視庁のサイトにぶっとばす機能がしぃちゃんによって開発され、その仕様書どおりに警視庁のサイトにリダイレクトする掲示板が数多く存在していました。
しかし、この機能は実用的ではなく、使い所が無い仕様になっていました。
そこで、いきなりお絵かき画面から指定したどこかへぶっとばすのではなく、お絵かき画面に「描画時間が短すぎます」「工程数が少なすぎます」というアラートを表示する仕様に変更しました。
強制サムネイル機能が復活
- v1.3には存在していた強制サムネイル機能を復活させました。
最新のthumbnail_gd.php
を使用する事でこの機能がオンになります。
1MBを超えるファイル容量の時にはjpeg形式のサムネイル画像を出力します。
想定されるケース。縦横のサイズは小さいもののファイルサイズが大きなGIFアニメ画像ファイルの時に、ファイルサイズが1MBを超えていたらGIFアニメではなく、jpeg形式のサムネイル画像が表示されます。
画像をクリックすればもとのGIFアニメが表示されます。
そのほか
- 動的パレット配色生成箇所のコードを整理しました。
- 画像ファイルが存在しない時は動画の再生を止めてエラー画面を表示するようにしました。以前のままでも実害はありませんが、サーバにエラーログが蓄積される可能性がありました。
- 初期エラーメッセージを日本語・英語自動切り替えに変更しました。
- アップロード可能な上限数を大きめに設定。さくらのレンタルサーバでは5MBが上限なのでphp.iniの設定変更を推奨します。
- 必要のない処理を回避して負荷を削減。例えばコメントが無い時は、コメントの長さ、NGワードを調べる必要がないのですぐにreturnする事で負荷を削減します。
Klecks更新
ゆがみを使用したあとに白く塗りつぶした箇所にゆがみの形にそった線が入る問題が修正されています。
ヘルプページに使い方の動画リンクが追加され、グラデーションのショートカットキーの項目が追加されました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
- thumbnail_gd.php
変更があったテンプレート
- templates/basic/ のすべて
- templates/mono/ のすべて
[2022/10/03] v5.26.8
ChickenPaintを最新版に更新
Chromeのバグを回避
- ChickenPaintのカラーピッカーで色を選択する操作をすると、表示されていた色が消え、真っ白になる問題がChromeのバグによって発生しました。
このGoogle Chromeのバグを回避して動作するChickenPaintの最新版に更新しました。
klecksを最新版に更新
- グラデーションツールに消しゴム化オプションが追加されました。
- 集中線を描写する機能が追加されました。
luminousでポップアップ表示
- サムネイルをクリックすると別タブで開く従来の表示方式を見直し。同じタブにポップアップ表示するライトボックス「luminous」を使用して表示します。
searchにスクロールするとでてくる上に戻るボタンを追加。
検索画面にもスクロールするとでてくる上に戻るボタンを追加しました。
変更があったディレクトリ
- chickenpaint/
- klecks/
- lib/luminous/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
テンプレートのカスタマイズをしている方がテンプレートを変更するのは大変な作業ですので、
luminousによるポップアップ表示など新機能に対応させたい方だけテンプレートを更新していただければ幸いです。
BASIC
- templates/basic/
ディレクトリ以下の全て
MONO
- templates/mono/
ディレクトリ以下の全て
[2022/09/20] v5.26.3
更新
- Klecksを最新版に更新しました。
グラデーションツールとパターンフィルタが追加されました。 - BladeOneをv4.6に更新しました。
バグ修正
- 返信画面の記事番号に親以外の記事番号を指定すると、E-WARNINGレベルのPHPのエラーが発生するバグを修正しました。
この問題は、v5.18.12で発生し、v5.26.3で修正されました。
正しい記事番号が指定されている時には発生しない上、軽微なエラーですがサーバのエラーログにエラーが記録され続ける可能性がありますのでアップデートをよろしくお願いします。
potiboard.php
をアップデートするだけでもこの問題に対応できます。
改善
- コンティニュー認証と
.pch
、.chi
、.psd
ダウンロード認証時も、パス欄が空白の時はCookieのパスを代入するようにしました。 ...
POTI-board EVO v5.50.11 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.50.11 リリース
[2022/12/21] v5.50.11
改善
- XSS対策のためキャンバスサイズのプルダウンメニュー式生成のループの書式を変更しました。
- W3C Markup Validation Serviceによるチェックで警告がでるため、自己終了タグを撤去。
- same-originチェックを追加。別Orijinからの不正な投稿を拒絶するようにしました。
ただしEdgeのIEモード等、Orijinヘッダ非対応ブラウザの場合は、Orijinヘッダのチェックを行いません。
このチェックが必須になると、Javaを使ったしぃペインター起動ができなくなるからです。
たとえば、CheerpJでは、しぃペインターの描画アニメをスムーズに再生する事ができないため、Javaを起動する必要があります。 - 導入が可能な箇所にpost時のCookieチェックを追加しました。
- ディレクトリトラバーサル攻撃からの防御。fopen()に変数が入る時は、basename()で
../../
などの階層を無効化。 - パスワードを5回連続して間違えた時は拒絶。
管理者パスワードを5回連続して間違えた時はそれ以上入力できないように拒絶する事ができるようになりました。
この機能を使いたい方は、config.phpのどの場所でも構いませんので以下の設定項目を追加してご利用ください。
// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");
//ftp等でアクセスして、
//templates/errorlog/error.log
// を削除すると、再度ログインできるようになります。
//このファイルには、間違った管理者パスワードを入力したクライアントのIPアドレスが保存されています。
-
IPアドレス、ホスト名の取得方法を変更。getenv()が使えないサーバに対応しました。
-
user-code repcodeの発行にuniqid()を使用。マイクロタイム単位で変化するようになりました。
-
リプレースコードの文字数を8文字から12文字に増やしました。
-
PaintBBS NEOにWAF誤検知時のエラーメッセージを独自に追加しました。
このエラーメッセージの表示については開発者であるfunigeさんのRepositoryにプルリクエスト中ですが、正式版が今後どうなるのかはまだわかりません。
WAFをオフにするとセキュリティが脆弱になり、WAFをオンにすると、NEOの投稿が失敗する事があるという状況にありますが、WAFによる誤検知だとわかれば、少し加筆すると攻撃とみなされるパターンではなくなる事がほとんどのため、このエラーメッセージに従っていただければ投稿できるようになると思います。
変更があったファイル
- noticemail/noticemail.inc
- config.php
- neo.js
- picpost.php
- potiboard.php
- save.php
- saveklecks.php
- thumbnail_gd.php
config.php
の更新は新規設定項目が必要な時だけで構いません。
テキストエディタの内容比較機能を使用して、必要な設定項目を追加する事をおすすめします。
変更があったテンプレート
BASIC
- templates/basic/.htaccess
- templates/basic/main.blade.php
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/parts/paint_form.blade.php
- templates/basic/res.blade.php
- templates/basic/search.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/.htaccess
- templates/mono/mono_main.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/parts/mono_paint_form.blade.php
- templates/mono/search.blade.php
- templates/mono/template_ini.php
[2022/11/30] v5.36.6
更新
- klecksを更新しました。
ブラシのショートカットキーの動作が修正されています。 - BladeOneをv4.7.1に更新しました。
改善
-
投稿時刻の重複を回避。
作業ファイルで使用しているタイムスタンプが重複している時にも投稿時刻を1秒未来へ進めてタイムスタンプの重複を回避。
これまでは、作業ファイルが別のファイルで上書きされる可能性がありました。 -
比較対象の投稿時刻が未来の時はエラーにしない。
投稿の待ち時間の計算処理の時に現在時刻よりも未来の投稿時刻が検出された時は、エラーにならないようにしました。
例えば、なんらかのミスで投稿時刻が1年後になっていた時は、1年経過しないと次の投稿ができなくなるため待ち時間が負の値の時にはエラーにせず通過するようにしました。 -
BladeOne v4.7.1。それにともないキャッシュディレクトリの自動生成を
potiboard.php
で行う形に変更。
BladeOneからキャッシュディレクトリの自動作成機能が削除されました。それに代わる機能としてpotiboard.php
にキャッシュディレクトリ自動作成機能を追加しました。キャッシュディレクトリのパーミッションはこれまでBladeOne側の指定で0777(777)
でしたが、今回の変更で0707(707)
になりました。0777(777)
では動作しないサーバでも動作するようになりました。 -
書き込みが必要なファイルのパーミッションを事前に
0606(606)
に変更。外部表示不可のログファイルは0600(600)
。
ログ変換したファイルをアップロードすると、potiboard.php
が生成したHTMLファイル、画像ファイル、ログファイルのパーミッションは自動的に変更されないままでした。
今回の変更でログファイルやHTMLファイル、そして画像ファイルのパーミッションがある程度自動的に設定できるようになります。
たとえば画像ファイルを削除する処理をする直前に0606(606)
に変更して削除できるようにしたり記事の書き込み時にログファイルを0600(600)
に変更して、ログファイルを外部から呼び出せないようにします。 -
PaintBBS NEOで投稿に失敗した時のユーザーコード不一致の時のエラーメッセージを追加。
PaintBBS NEOのユーザーコード不一致の時のエラーメッセージを追加しました。
ユーザーコードが一致しない時は「時間をおいて再度投稿してみてください。」というエラーメッセージは適切ではなく、時間をおいても投稿不能だからです。 -
Klecksで投稿に失敗した時のエラーメッセージを追加。
サーバのステータスが200以外の時にはエラーメッセージのアラートが開くようになりました。
サーバがダウンしていたり、通信回線が切断されている時にもエラーメッセージが表示されるようになりました。
変更があったディレクトリ
- BladeOne/
- klecks/
変更があったファイル
- picpost.php
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/10/29] v5.35.3
改善
テンプレート共通
- 管理画面の画像ファイルをクリックした時にluminousでポップアップ表示するようになりました。
これまでは画像が別タブで開かれていました。 - 従来の記述では出力するHTMLタグがスクリプト本体にありテンプレートではエスケープする事ができなかった箇所を修正。HTMLパートをテンプレートに移動。出力する値のエスケープをテンプレートで行う事ができるようにしました。
- tweetをTweetに修正しました。
- TOOLをToolに修正しました。
テンプレートMONO
- テンプレートMONOにスクロールすると出てくる上に戻るリンクを追加しました。
- スマホ表示を最適化しました。iPad(768px)以下の解像度の時は画像のfloatを解除。画像のマージンを0に。
これにより、スマホ表示時の画像の左右の余白が同じになります。
これまでは、画面右側の余白が大きくなっていました。 - MONOの管理者削除画面でも、番号をクリックすると管理人による記事の編集ができるようになりました。
セキュリティ
- CheerpJ Applet Runner のスクリプトの中身がハッキング等によって改ざんされた時にはそれを検知してスクリプトが実行されないようにしました。
サブリソース完全性参考MDN。
この技術は、jQueryをCDNで利用する場合にも活用されているものですが、CheerpJのスクリプトのハッシュ値が公開されているわけではありませんので、Linuxのコマンドを使ってハッシュ値を独自に生成しました。
CheerpJのバージョンを変更した時には、ハッシュ値も変更しなければ動かなくなります。
しかしながら、計算ずみのハッシュ値はpotiboard.phpの最新バージョンに開発時に入りますので、エンドユーザーがハッシュ値を意識する必要はありません。 - しぃアプレットや、PaintBBS NEOのデータを受信しているpicpost.phpで受信した画像部分のファイルがjpeg、png等の画像ではなかった時は不正を検知してファイルを削除するようにしました。
しぃアプレット、PaintBBS NEOの描画に必要な時間工程数による拒絶処理を変更しました。
- 描画時間が短かったり、作画工程数が少ない時にお絵かき画面を警視庁のサイトにぶっとばす機能がしぃちゃんによって開発され、その仕様書どおりに警視庁のサイトにリダイレクトする掲示板が数多く存在していました。
しかし、この機能は実用的ではなく、使い所が無い仕様になっていました。
そこで、いきなりお絵かき画面から指定したどこかへぶっとばすのではなく、お絵かき画面に「描画時間が短すぎます」「工程数が少なすぎます」というアラートを表示する仕様に変更しました。
強制サムネイル機能が復活
- v1.3には存在していた強制サムネイル機能を復活させました。
最新のthumbnail_gd.php
を使用する事でこの機能がオンになります。
1MBを超えるファイル容量の時にはjpeg形式のサムネイル画像を出力します。
想定されるケース。縦横のサイズは小さいもののファイルサイズが大きなGIFアニメ画像ファイルの時に、ファイルサイズが1MBを超えていたらGIFアニメではなく、jpeg形式のサムネイル画像が表示されます。
画像をクリックすればもとのGIFアニメが表示されます。
そのほか
- 動的パレット配色生成箇所のコードを整理しました。
- 画像ファイルが存在しない時は動画の再生を止めてエラー画面を表示するようにしました。以前のままでも実害はありませんが、サーバにエラーログが蓄積される可能性がありました。
- 初期エラーメッセージを日本語・英語自動切り替えに変更しました。
- アップロード可能な上限数を大きめに設定。さくらのレンタルサーバでは5MBが上限なのでphp.iniの設定変更を推奨します。
- 必要のない処理を回避して負荷を削減。例えばコメントが無い時は、コメントの長さ、NGワードを調べる必要がないのですぐにreturnする事で負荷を削減します。
Klecks更新
ゆがみを使用したあとに白く塗りつぶした箇所にゆがみの形にそった線が入る問題が修正されています。
ヘルプページに使い方の動画リンクが追加され、グラデーションのショートカットキーの項目が追加されました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
- thumbnail_gd.php
変更があったテンプレート
- templates/basic/ のすべて
- templates/mono/ のすべて
[2022/10/03] v5.26.8
ChickenPaintを最新版に更新
Chromeのバグを回避
- ChickenPaintのカラーピッカーで色を選択する操作をすると、表示されていた色が消え、真っ白になる問題がChromeのバグによって発生しました。
このGoogle Chromeのバグを回避して動作するChickenPaintの最新版に更新しました。
klecksを最新版に更新
- グラデーションツールに消しゴム化オプションが追加されました。
- 集中線を描写する機能が追加されました。
luminousでポップアップ表示
- サムネイルをクリックすると別タブで開く従来の表示方式を見直し。同じタブにポップアップ表示するライトボックス「luminous」を使用して表示します。
searchにスクロールするとでてくる上に戻るボタンを追加。
検索画面にもスクロールするとでてくる上に戻るボタンを追加しました。
変更があったディレクトリ
- chickenpaint/
- klecks/
- lib/luminous/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
テンプレートのカスタマイズをしている方がテンプレートを変更するのは大変な作業ですので、
luminousによるポップアップ表示など新機能に対応させたい方だけテンプレートを更新していただければ幸いです。
BASIC
- templates/basic/
ディレクトリ以下の全て
MONO
- templates/mono/
ディレクトリ以下の全て
[2022/09/20] v5.26.3
更新
- Klecksを最新版に更新しました。
グラデーションツールとパターンフィルタが追加されました。 - BladeOneをv4.6に更新しました。
バグ修正
- 返信画面の記事番号に親以外の記事番号を指定すると、E-WARNINGレベルのPHPのエラーが発生するバグを修正しました。
この問題は、v5.18.12で発生し、v5.26.3で修正されました。
正しい記事番号が指定されている時には発生しない上、軽微なエラーですがサーバのエラーログにエラーが記録され続ける可能性がありますのでアップデートをよろしくお願いします。
potiboard.php
をアップデートするだけでもこの問題に対応できます。
改善
- コンティニュー認証と
.pch
、.chi
、.psd
ダウンロード認証時も、パス欄が空白の時はCookieのパスを代入するようにしました。
編集画面ではパスワード入力欄が空白で、パスワードのCookieがあるときはCookieのパスワードがパスワードとして使用されていましたが、コンティニュー認証やダウンロード認証の時には、パスワードの入力が必要でした。
これらの仕様を統一しました。 - パスワード照合のための関数
check_password()
を修正。パスワードの入力がなく、Cookieのパスワードも存在しない時には鍵が開かないようにしました。 - メール通知機能の多国語対応が不十分だったのを修正しました。
メールのヘッダのハングル文字またはそのほかの文字が文字化けしていたのを修正しました。 - テンプレート MONOのページ番号の間隔を広げました。
- テンプレートMONOのmayoのボタンの背景色を変更しました。
- NEOのペイント画面の時計のJavaScriptを修正しました。
- 管理画面のファイルサイズの単位をバイトからKBに変更しました。
変更があったファイル
- noticemail/noticemail.inc
- potiboard.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
テンプレートはv5.xのBladeOne対応ものであれば更新しなくても大丈夫です。
この間の変更はスマホ操作に適していいないというGoogleのテストの結果をうけて調整している側面が強いため、現状困っていないのであればそのままで。
テンプレート BASIC
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/template_ini.php
テンプレート MONO
- templates/mono/css/mono_dark.css
- templates/mono/css/mono_deep.css
- templates/mono/css/mono_main.css
- templates/mono/css/mono_mayo.css
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_mainte_form.blade.php
- templates/mono/template_ini.php
[2022/08/17] v5.23.8.1
更新
- Klecksを最新版へ。
ノイズフィルタが追加されました。
- v5.23.8.1でv5.23.8の透明化フィルタの輝度反転が動作しない問題を修正しました。
- BladeOneをv4.5.5に更新。
- jQueryを3.6.0に更新。
ファイルの存在チェックをしていますので、同梱のjQueryが存在しない時はプログラムが動きません。
ファイルが存在しない事を伝えるエラーメッセージがでます。
改善
- クリックジャッキングの脆弱性を修正しました。
フレームまたはインラインフレームでの表示ができなくなります。
セキュリティは向上しますが、フレーム内に表示したい方がいる事も知っています。
そのため、config.phpに新規設定項目を追加して、フレーム内に表示するしないを選択できるようにしました。
フレーム内に表示する必要がない方...