ここに来て立て続けに、アップロードされたzipファイルを解凍した中身を反映するコードを書いてきましたが、実のところ、これらで利用している PEAR::Archive_Zip には、穴があります。
それは具体的には以下の2点です。
(1) ファイルシステムに解凍すると、Directory Traversalがある
(2) 解凍処理でメモリをすべて食いつぶすようなzipファイルが簡単に作成可能である
このうち、(1)に対しては明確な対応策があります。ファイルシステム上に解凍しなければ良いのです。
$reader = new Archive_Zip( (アップロードテンポラリファイル) ) ;
$files = $reader->extract( array( 'extract_as_string' => true ) ) ;
AVAMANを作ったついでに、スマイリーの管理画面もちゃちゃっと作ってみました。
同じく、zipやtar.gzでのアップロードが可能です。
アバターと違うのは、ファイル名がそのまま顔アイコンの変換元コードになる点です。
つまり、顔アイコンファイルをいくつか作ってzipアーカイブすれば、それだけで、顔アイコン集として配布可能だ、ということです。登録する側は、新スマイリーマネージャから、そのzipをアップロードするだけです。
すぐれた顔アイコン集がリリースされることを期待してます。
顔アイコン集のサンプル:
http://www.peak.ne.jp/support/xoops/sample_smilies.zip
This application has already ended.
----------------------------------------------
"Customizing XOOPS" -a XOOPS book written by matchan and me- get good selling result. (already 6th print)
And I have surplus the books by my side.
Thus I'd like to return my experiences and give the book to foreign Xoopsers.
Though the book is written in Japanese, source codes are written in PHP
If you want to get my book, contact me by e-mail or PM.
The deadline is 1st April
If I get requests more than five, I'll choose them with the priority.
1. well-known developper (like: mithrandir, marcan, phppp etc.)
2. active in peak xoops
3. active in xoops.org (judged by post numbers in xoops.org)
Of course, I'll pay the postage.
I'm waiting many request from you!
XHTML ValidでないサイトをValidにするHackです!
やり方は、include/ フォルダに joke_xhtml_valid.php を用意して、mainfile.php のXOOPS_ROOT_PATH定義行の直後に1行加えるだけ!
……な〜んて、もちろん冗談ですが、このサイトみたいに、xhtml validをまったく気にしていないサイトでは、とりあえずhtml-lintで10〜20点は上昇しましたよ