Nucleus(JP)フォーラム Forum Index

Find on the forum:
OR  AND    » Advanced Search

未返信の記事を表示全てのフォーラムを既読にする

新しいトピックを投稿 トピックに返信
投稿者 メッセージ
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.08.27 (日) 10:06   記事の件名: media-toc改変版 ->mediaディレクトリでフォルダ作成
引用付きで返信

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

記事 日時: 2006.08.31 (木) 15:50   記事の件名:
引用付きで返信

試してみました。以下、気付いた点です。テスト環境(nucleus3.23UTF-8 )にて確認。
(一部、自分自身が使い方を分かっていないような気もしますが)

「現在のコレクション」つまりディレクトリを選択するリストボックスが
表示されません。リストボックスだけでなく、「フィルター~フィルター適応」の上に
あるハズの「現在のコレクション」のUIがまるごと表示されていません。

あと、フォルダ作成・フォルダ削除に関するインターフェイスが見当たりませんでした。
ファイル名にスラッシュを含めて名前変更かな?とも思いましたが、これだと
「xxxxxの名前変更に失敗しました」というエラーが表示されました。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.08.31 (木) 16:04   記事の件名:
引用付きで返信

ぬっ、そうでしたか。

ちょっとアップしてあるファイルを確認してみます。

私の環境では、セレクトボックス アップロード先 フォルダ管理 という順番にボタンが出ます。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.08.31 (木) 16:09   記事の件名:
引用付きで返信

よろしくお願いします。ちなみに、下の画像のような状態になっています。


nuc01.jpg
 説明:
 ファイルサイズ:  22.96 KB
 閲覧済み:  21834 回

nuc01.jpg


トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.08.31 (木) 19:29   記事の件名:
引用付きで返信

多分、yamaさんがインストールしているのは別のファイルだと思います。

というのは日本語表示で、「新規アップロード」というのはファイルに含まれていないはずなので。



mediagamen.gif
 説明:
 ファイルサイズ:  10.42 KB
 閲覧済み:  21800 回

mediagamen.gif



media.png
 説明:
 ファイルサイズ:  61.31 KB
 閲覧済み:  21800 回

media.png


トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.08.31 (木) 19:55   記事の件名:
引用付きで返信

「 <?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
所在地: 金沢区

記事 日時: 2006.08.31 (木) 20:57   記事の件名:
引用付きで返信

おっと、LANGファイルとは見逃していました。
なんで違いが出るんでしょうね・・・
シグネチャは
Code:
/**
  *   media-tocu3.02.zip
  * T.Kosugi edit 2006.8.22 for security reason
  */
/**
  *   media-tocu-dirs1.0.zip
  *      extends media-tocu3.02.zip
  */

ですよね?で
ソースはどうなっていますでしょうか?

XHTMLstrictに引っかかってレンダリングされないとかかなと。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.08.31 (木) 21:17   記事の件名:
引用付きで返信

もう一つ、今の段階の推測ですが、

文字コード、どうなっていますか?UTF-8環境だとは思うのですが、mb_internal_encoding()の値。

このファイル、日本語直書きで条件分岐しているので(爆)

あと、magic.quote.gpcはoffですよね?

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.09.01 (金) 09:02   記事の件名:
引用付きで返信

表示されるポップアップウィンドウのHTMLソースは以下のようになってました。
冒頭から該当部分あたりまでを貼り付けます。
Code:
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Nucleus Media</title>
      <link rel="stylesheet" type="text/css" href="styles/popups.css" />
      <script type="text/javascript">
         var type = 0;
         function setType(val) { type = val; }

         function chooseImage(collection, filename, width, height) {
            window.opener.focus();
            window.opener.includeImage(collection,
                                 filename,
                                       type == 0 ? 'inline' : 'popup',
                                       width,
                                       height
                                       );
            window.close();
         }

         function chooseOther(collection, filename) {
            window.opener.focus();
            window.opener.includeOtherMedia(collection, filename);
            window.close();

         }
      </script>

           <script type='text/javascript'>
                  function kakunin(value){
                     res=confirm('本当に'+value+'していいですか?');
                     return res;
                  }
           </script>
   </head>
   <body>
      <form method="post" action="media.php" style="float:right"><div>
         <input type="hidden" name="collection" value="1" />
         <input type="submit" name="action" value="新規アップロード..." title="新しいファイルのアップロード" />
         <input type="hidden" name="ticket" value="083a709072656aa48e9c345bda4c121f" />      </div></form>
         <form method="post" action="media.php"><div>
         <label for="media_filter">フィルター: </label>
         <input id="media_filter" type="text" name="filter" value="" />
         <input type="submit" name="action" value="フィルター適応" />
         <input type="hidden" name="collection" value="1" />
         <input type="hidden" name="offset" value="0" />
      </div></form>

media.phpのシグネチャ部分は以下のようになってます。同一でしょうね。
Code:
/**2005.3--2005.09.26 00:50 keiei edit
  * media-tocu3.01.zip  for register_globals=off
  *
  */
/**
  *   media-tocu3.02.zip
  * T.Kosugi edit 2006.8.22 for security reason
  */
/**
  *   media-tocu-dirs1.0.zip
  *      extends media-tocu3.02.zip
  */

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

記事 日時: 2006.09.01 (金) 09:12   記事の件名:
引用付きで返信

分かりました!

「1」や「2」などの「ユーザ用ディレクトリ」しかない場合はディレクトリ関係のUIが
表示されないみたいですね。
「test」というディレクトリをFTPで作ってみたらUI表示されました。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.09.01 (金) 09:13   記事の件名:
引用付きで返信

うーん。
やっぱり、最初から書き直した方がいいかなぁ。。。

ぬ。

yamaさん、最高です!
うちだと、NP_Analyzeのフォルダやらなにやらあったので気付きませんでした。
修正版すぐに作れそうなので、飯食ったらアップします。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.09.01 (金) 09:44   記事の件名:
引用付きで返信

修正版アップしました。

magic.quote.gpc = on でも使えるようにしたほうがいいんだろうか・・・

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.09.01 (金) 10:08   記事の件名:
引用付きで返信

どもです。さっそく試してみました。グーでした。Smile

magic_quotes_gpcの件は、もしonになっている場合はoffにするように
アラートを赤文字などで表示してサーバ設定を促すというのはどうでしょう。
magic_quotes_gpcとだけ書いておけばあとはGoogleなどで調べられます。

Nucleusは php.iniやら.htaccessやらをいじらなくてもそこそこ使えるのが
親切で便利と思ってましたが、おかげさまで少し考えを改めるようになりました。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.09.01 (金) 10:14   記事の件名:
引用付きで返信

いつもありがとうございます。

私としては、
magic_quotes_gpcはonを推奨したいのです。(別な理由で)

たまたま、このファイルの場合、私がオリジナルじゃないので、magic_quotes_gpc = on対応にすると、書き換え場所が結構大量になってしまうので、そのままアップしてますが、自分用はgrepして書き換えているんです。実は。 Cool

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.09.10 (日) 14:49   記事の件名:
引用付きで返信

報告です。今度はたぶんサーバ側の問題とからんでます。

画像をアップロードしようとすると、
Quote:
エラー
このアクションの実行が許可されていません

と表示されアップロードできません。

サーバはxreaです。セーフモード稼働の関係でmedia.phpを利用するには
ちょっとした細工が必要とされており、そのようにしています。
media-tocu3.02までは利用できていました。
試しにmedia-tocu3.02に戻してみると、正常にアップロードできます。

http://sakurafarm.happy.nu/item_1371.html
詳細はこちら。(サクラキャンドルさんのサイトです)

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
kosugiatkips



登録日: 2006.01.15
記事: 353
所在地: 金沢区

記事 日時: 2006.09.10 (日) 15:32   記事の件名:
引用付きで返信

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
所在地: 金沢区

記事 日時: 2006.09.10 (日) 15:42   記事の件名:
引用付きで返信

すみません。
追加情報をお願いいたします。

アップロードできないのは、メンバーIDの直下もでしょうか?
それとも、その下に作成したディレクトリだけでしょうか?

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.09.10 (日) 15:43   記事の件名:
引用付きで返信

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
所在地: 金沢区

記事 日時: 2006.09.10 (日) 15:54   記事の件名:
引用付きで返信

あぁ、すみません。
その前に、今アップされているファイル、最新じゃなかったです。
私が使っているのより2バージョン古かった・・・

緊急性がなかったので更新してませんでした。

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信
yama.kyms
モデレーター
モデレーター


登録日: 2005.07.07
記事: 1049
所在地: fujisawa

記事 日時: 2006.09.10 (日) 16:06   記事の件名:
引用付きで返信

あれっ?その古いというバージョンも、こないだのディレクトリ存在対応版より新しくなってますか?
わわわ、差し替えて試してみます。汗

トップに戻る

ユーザーのプロフィールを表示 プライベートメッセージを送信 投稿者のウェブサイトに移動
新しいトピックを投稿 トピックに返信
特定期間内の記事を表示:   

ページ移動 1, 2  次へ

Page 1 of 2

All times are GMT + 9 Hours

移動先:  

新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
ファイル添付不可
ダウンロード:

Powered by phpBB © 2001, 2002 phpBB Group