| 投稿者 | メッセージ | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
media-tocu-dirs media-tocu3.02をベースに改変したメディアのフォルダ管理を可能したmedia.php置き換え用ファイルです。 このファイルおよびmedia-tocの以前の版はログインしているユーザが他のユーザのメディアフォルダを操作できます。(ファイルのアップや既存ファイルの削除、リネームなど) これは脆弱性ではなく仕様ですが、信頼できない不特定多数のユーザが使う環境ではお勧めできません。 将来のバージョンでは問題が解決されるかもしれませんが、現状では、 NP_ImageManagerがおすすめです(2007/1/13) 誤使用を避けるため、media-tocu-dirsの配布は中止しています。 私はこの先、このファイルについてはアップデートしないと思いますので、後は興味のある方にお譲りいたします。 ※完全な代用になりうるNP_ImageManagerを下記にアップしましたので、お試しください。 http://japan.nucleuscms.org/bb/viewtopic.php?t=2670 (要ログイン) コアのmedia.phpに対するmedia-tocuの優位性 ・投稿時にサムネイル作成 ・ファイル名変更 ・ファイル削除 ・ファイルサイズ、タイプ確認 ・確認表示 などですが、media-tocu-dirsではこれらに加え、ユーザのディレクトリ内にフォルダを作ることができます。多階層可。 ・フォルダ作成 ・フォルダ削除(フォルダにデータが入っている場合は削除しません。フォルダ内のメディアを削除してからフォルダ削除を行ってください(誤削除を防ぐため、一括削除は搭載していません)) ・フォルダ間のメディアの移動はファイル名変更で行うことができるはず。 添付したファイルはUTF-8で作成してありますEUC-JPの方は保存しなおしてください。 β版です。まずはテスト環境で動作確認を行うことをお勧めします。 ※ magic.quote.gpc = on の方は、undoMagic($POST['hoge'])みたいな修正をかけてください。 バージョン 1.0 β nucleus3.23UTF-8環境では動作良好です。 1.0.1 ユーザディレクトリしかない場合の対処を追加 1.0.2 ファイル移動時にNULLコードでファイル名を偽装できる問題を修正 1.0.3 メンバーディレクトリへのアップロード処理を修正 最終編集者 kosugiatkips [ 2007.01.13 (土) 11:11 ], 編集回数 7 回 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
試してみました。以下、気付いた点です。テスト環境(nucleus3.23UTF-8 )にて確認。 (一部、自分自身が使い方を分かっていないような気もしますが) 「現在のコレクション」つまりディレクトリを選択するリストボックスが 表示されません。リストボックスだけでなく、「フィルター~フィルター適応」の上に あるハズの「現在のコレクション」のUIがまるごと表示されていません。 あと、フォルダ作成・フォルダ削除に関するインターフェイスが見当たりませんでした。 ファイル名にスラッシュを含めて名前変更かな?とも思いましたが、これだと 「xxxxxの名前変更に失敗しました」というエラーが表示されました。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
ぬっ、そうでしたか。 ちょっとアップしてあるファイルを確認してみます。 私の環境では、セレクトボックス アップロード先 フォルダ管理 という順番にボタンが出ます。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
よろしくお願いします。ちなみに、下の画像のような状態になっています。
|
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
多分、yamaさんがインストールしているのは別のファイルだと思います。 というのは日本語表示で、「新規アップロード」というのはファイルに含まれていないはずなので。
|
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
「 <?php echo htmlspecialchars(_MEDIA_UPLOAD_NEW) ?> 」で呼び出しているのが Nucleus本体langファイルの「新規アップロード」という文字列のようですが、これは関係ないでしょうか。 念のため再度media-tocu-dirsをダウンロードし上書きしてみましたが、状況は同様でした。 さらに念を入れて、アップロードしたmedia.phpを「000media.php」などにリネームすると 404 Not Foundとなりました。さらにこの000media.phpをダウンロードしエディタで開くと 「T.Kosugi edit 2006.8.22 for security reason」のシグネイチャが確認できます。 と、わりと念入りに確認してみたつもりですが、まだ何か大きな見逃しがあるかも。 (最近多いので…汗) これを確認してほしい、などあればおっしゃってください。試してみます。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
おっと、LANGファイルとは見逃していました。 なんで違いが出るんでしょうね・・・ シグネチャは
ですよね?で ソースはどうなっていますでしょうか? XHTMLstrictに引っかかってレンダリングされないとかかなと。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
もう一つ、今の段階の推測ですが、 文字コード、どうなっていますか?UTF-8環境だとは思うのですが、mb_internal_encoding()の値。 このファイル、日本語直書きで条件分岐しているので(爆) あと、magic.quote.gpcはoffですよね? |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
表示されるポップアップウィンドウのHTMLソースは以下のようになってました。 冒頭から該当部分あたりまでを貼り付けます。
media.phpのシグネチャ部分は以下のようになってます。同一でしょうね。
mb_internal_encoding()の値は、phpinfoで見たところUTF-8となってました。 magic.quote.gpcはoff。これも大丈夫でした。 なんかの勘違いでmedia.phpファイルをサーバ上で間違えてるのかなと思い 「<input id="media_filter" type="text"…」などの直前あたりに「あいうえお」と 試しに書いてみると、やっぱり該当部分に「あいうえお」が表示されます。 いつもそそっかしいことしてるので自分を信用できてませんが(笑)、 今回はファイルを間違えてはなさそうです。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
分かりました! 「1」や「2」などの「ユーザ用ディレクトリ」しかない場合はディレクトリ関係のUIが 表示されないみたいですね。 「test」というディレクトリをFTPで作ってみたらUI表示されました。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
うーん。 やっぱり、最初から書き直した方がいいかなぁ。。。 ぬ。 yamaさん、最高です! うちだと、NP_Analyzeのフォルダやらなにやらあったので気付きませんでした。 修正版すぐに作れそうなので、飯食ったらアップします。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
修正版アップしました。 magic.quote.gpc = on でも使えるようにしたほうがいいんだろうか・・・ |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
どもです。さっそく試してみました。グーでした。 magic_quotes_gpcの件は、もしonになっている場合はoffにするように アラートを赤文字などで表示してサーバ設定を促すというのはどうでしょう。 magic_quotes_gpcとだけ書いておけばあとはGoogleなどで調べられます。 Nucleusは php.iniやら.htaccessやらをいじらなくてもそこそこ使えるのが 親切で便利と思ってましたが、おかげさまで少し考えを改めるようになりました。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
いつもありがとうございます。 私としては、 magic_quotes_gpcはonを推奨したいのです。(別な理由で) たまたま、このファイルの場合、私がオリジナルじゃないので、magic_quotes_gpc = on対応にすると、書き換え場所が結構大量になってしまうので、そのままアップしてますが、自分用はgrepして書き換えているんです。実は。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
報告です。今度はたぶんサーバ側の問題とからんでます。 画像をアップロードしようとすると、
と表示されアップロードできません。 サーバはxreaです。セーフモード稼働の関係でmedia.phpを利用するには ちょっとした細工が必要とされており、そのようにしています。 media-tocu3.02までは利用できていました。 試しにmedia-tocu3.02に戻してみると、正常にアップロードできます。 http://sakurafarm.happy.nu/item_1371.html 詳細はこちら。(サクラキャンドルさんのサイトです) |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
media-tocu3.02で動作しているということで、違いを確認してみたいと思います。 CGIとして動作させているということだと思いますが、 SUEXECも利いている状態でしょうか? 余談ですが、うちはCGIではないですが、セーフモードの影響で、 media.phpの所有者権限と、書き込もうとするディレクトリの所有者権限がマッチしないため、アクセスを拒否されるというものです。phpの仕様では、safe_mode_include_dirが正しく設定されていれば、ファイル書き込み時のuidチェックは透過するはずなのですが、私のPHP-4.4.4ではuidチェックが発動するようです。 safe_mode_include_dirの値などが、気になるところですが・・・。 ケースによっては、プログラム側ではなくてサーバ側の設定を変えてもらう必要があるかもしれません。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
すみません。 追加情報をお願いいたします。 アップロードできないのは、メンバーIDの直下もでしょうか? それとも、その下に作成したディレクトリだけでしょうか? |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
http://xrea-memo.raccy.org/cgi_suexec.html 公式なアナウンスはないのですが、上記URLによるとxreaではSUEXECが有効になって いる様子です。他のサイトでも数件ほど、そのように記述されているのを見ました。 safe_mode_include_dir は 「/usr/local/lib/php」 となっていました。 ※追記 15:44 入れ違いの書き込みになっちゃいました。 > アップロードできないのは、メンバーIDの直下もでしょうか? そうです。というか、直下のみでしか試してません。 ディレクトリを作れるかどうか、作れるならアップロードできるかどうか試してみます。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
kosugiatkips![]() 登録日: 2006.01.15 記事: 353 所在地: 金沢区 |
あぁ、すみません。 その前に、今アップされているファイル、最新じゃなかったです。 私が使っているのより2バージョン古かった・・・ 緊急性がなかったので更新してませんでした。 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
yama.kyms モデレーター ![]() 登録日: 2005.07.07 記事: 1049 所在地: fujisawa |
あれっ?その古いというバージョンも、こないだのディレクトリ存在対応版より新しくなってますか? わわわ、差し替えて試してみます。汗 |
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
All times are GMT + 9 Hours
新規投稿: 不可 Powered by phpBB © 2001, 2002 phpBB Group |
|||||||||||||||||||||||