NP_DragAndDropUploader v1.0と同様のリモートコードインジェクションの脆弱性があったため、修正版をリリースします。register_globals = Onの環境下でお使いの場合には速やかにバージョンアップされることを推奨します。お手間をおかけして申し訳ありません。
※インストール等は付属のNP_Moblog マニュアルを参考にしてください。
動作確認はNucleus 3.31SP1(UTF-8)、PHP 5.2.13環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
† 20010/06/23 追記
画像が添付されない不具合があったため、対策版(v1.17.1)をリリースします。1.17を既に導入している場合には、ファイルの上書きだけでアップデート可能です。
† 主な変更点
[Fixed] エンコーディングが適切に検出されない問題を修正
[Fixed] mysql_query()をsql_query()に変更
[Fixed] eregi()をpreg_match()に変更
[Fixed] register_globals,allow_url_fopen,allow_url_includeがonの場合にリモートコードインジェクションが発生する問題に対応しました (Thanks Katsumiさん)
[Fixed] 画像ファイルが添付されない不具合を修正 (Thanks furuchanさん, v1.17.1)
こちらのプラグインには大変お世話になっております。
最近、サイトリニューアルしたのを機にNP_Moblog v1.17をインストールしてヘルプに沿って設定したのですが、記事は投稿されるのに添付画像がアップロードされず(ログを見たら添付ファイルが常に無視されていました)困っております。
フォルダのパーミッション、及び権限についてはチェックをいたしました。
Nucleusのバージョンは3.41、PHPは5.2.6です。
画像ファイルの拡張子の正規表現などは変更しておりません。
画像サイズも問題無い物でしたが無視されました。
因みにリニューアル前に使用していた旧バージョンでは問題なく動作しておりました。
リニューアル前、後でサイトのURLは変わっておりません。
もし何か思い当たるご指摘がありましたらご教授いただけないでしょうか?
特に処理を変えてはいないつもりなのですが、具体的にはどのようなログが出て、添付ファイルが無視されているのかを教えてもらえると何かアドバイスできるかもしれません。
説明の欠落、大変失礼いたしました。
ログには以下のように表示されました。
2010-06-22 21:30:03[私のログインネーム]Moblog: 786: 添付ファイルを無視します。(サイズ超過: 29199 B or 保存しないファイルに該当しています) [image/jpeg]
2010-06-22 21:44:53[私のログインネーム]Moblog: 786: 添付ファイルを無視します。(サイズ超過: 957 B or 保存しないファイルに該当しています) [image/gif]
2010-06-22 22:26:54 [私のログインネーム] Moblog: 786: 添付ファイルを無視します。(サイズ超過: 6588 B or 保存しないファイルに該当しています) [image/jpeg]
この3つのファイルは1回ずつ別々に送信した物です。
どのような画像ならきちんと掲載されるか実験していたときの物なので、連続で送信はしていますが。
その後、フォルダの作り直しを勧められている書き込みをフォーラムで拝見したので作り直した後もう一度送信したところ
2010-06-22 22:35:27 [私のログインネーム] Moblog: 786: 添付ファイルを無視します。(サイズ超過: 29199 B or 保存しないファイルに該当しています) [image/jpeg]
の上に
2010-06-22 22:35:27 [私のログインネーム] Moblog: 762: FileName(2010062222352700-200808161819000.jpg)
と出力されていました。
また、その上に
2010-06-22 22:35:27 [私のログインネーム] Moblog: 712: image/data part をみつけました[image/jpeg]
とも出力されていたので、画像自体はアップロードされたのかとFTPで確認しましたがやはりフォルダは空でした。
以降はテストするもフォルダ作り直し後と同じログを出力し、記事は投稿されるものの画像のアップロードはされていませんでした。
以上で説明の欠落部分を補えたでしょうか?
もしまだご指摘がございましたらお手数ですがよろしくお願いします。
ありがとうございます。原因がわかりました。
アップデート版を用意しますのでお待ちください。
アップデート版をアップロードしました。
上記のリンクからダウンロードして試してみてください。
動作確認いたしました。
きちんと動作いたしました。
ありがとうございました。
iPod touch(2nd/iOS4.1)より画像添付でメール送信をすると画像添付が正常に行われません。
通常testimage.jpgを添付送信すると、画像名に日付が入り「2010091015274600-testimage.jpg」となりますが、「2010091015274600-」とハイフン以降がはいっていません。またサーバmediaフォルダにも「2010091015274600-」と保存されてしまっています。
iPod touchに設定してあるGmailアドレス、OCNアドレスの2つのアカウントより同様に送信しましたが結果は同じでしたので、メールサーバは無関係のようです。またブラウザやPCのメールクライアントからの送信ではいずれも正常に処理されます。
ログは以下の通りです。
Moblog: 536: ユーザ(1)のメールを取得終了しました
Moblog: 444: 更新しません。次回更新は2010-09-10 15:53:26以降です。
Moblog: 565: From(*****@gmail.com)
Moblog: 570: 投稿許可アドレスに含まれているので受付(*****@gmail.com)
Moblog: 643: multipart partメッセージです
Moblog: 706: text part をみつけました[text/plain]
Moblog: 712: image/data part をみつけました[image/jpeg]
Moblog: 762: FileName(2010091015274600-)
Moblog: 706: text part をみつけました[text/plain]
Moblog: 816: 画像ファイルに該当しないので、データファイルテンプレートを使用します
Moblog: 683: アイテム追加します
Moblog: 843: blogidはOK!
Moblog: 849: メンバーチェックもok!
Moblog: 855: アイテムは空じゃないです
Moblog: 867: 追加するcatid: 97
Moblog: 872: ドラフトで追加します
Moblog: 876: $catid:97, $draft:1, $closed:0
Moblog: 881: itemid: 1330
こんにちは。はじめまして。
colorzemさんの原因は、iOS4.1から送信した場合に画像名が日本語になるのが原因かと思います。
私も何度かやってみましたが、
--Apple-Mail-3-926979891
Content-Disposition: inline;
filename*=iso-2022-jp''%1B%24B%3CL%3F%3F%1B%28B.JPG
Content-Type: image/jpeg;
name="??.JPG"
Content-Transfer-Encoding: base64/9j/4AAQSkZJRg.........
上記がソースで添付ファイル名は、[写真.JPG]になってました。
ご報告まで。
cruiseさんが気がつかれた通りで、「写真」から素直にメール作成し添付した場合に添付ファイル名が「写真.jpg」というようにリネームされ、「写真」で画像を長押しコピーし、メールにてメール作成し本文にペーストで写真を添付した場合は「image.jpeg]」となりました。
ネット情報では後者の場合はオリジナル名称がつかわれるということでしたが私の環境では違いました。オリジナル名称は「DSCN0107.JPG」なのですが・・・。
いろいろ情報ありがとうございます。
Moblog: 762: FileName(2010091015274600-)
というログが出ているので、NP_Moblogがファイル名を認識できていないようですね。
僕自身がiPod touchを持っていないので追試が出来ないので、確認まで少し時間をください。
ちなみにファイル名が日本語になってしまっている場合には対応は難しいかもしれません。
追加情報です。
iPhone(iOS4)の言語をEnglishに変更して画像添付の投稿をしてみました。
--Boundary_(ID_OxJvNg6Ss2uax3MSRZtOhQ)
Content-type: image/jpeg; name=photo.JPG
Content-transfer-encoding: base64
Content-disposition: inline; filename=photo.JPG/9j/4AAQSkZ.......
メールのソースは上記のようになりまして投稿されました。
日本語ファイル名がやはり原因と思います。
ただ、このファイル名はどの画像を送っても共通のようです。
filename*=iso-2022-jp''%1B%24B%3CL%3F%3F%1B%28B.JPG
ここが規格外なのかと思います。
iPodtouchがらみで質問中に別件ですいません。
動作モード/宛先アドレス/投稿許可アドレスの3つの設定の関係でちょっと混乱しています。
NP_Moblogがアイテムの投稿メンバーを特定するのは「投稿許可アドレス」であると認識して間違いないでしょうか?
同一端末から複数のメンバーが1つのブログに投稿するようなケースで、アイテムの投稿メンバを特定する必要がある場合には投稿許可アドレスはメンバーごとに異なっていなければならない。ということですよね?
同一端末から複数のメンバーが1つのブログに投稿するようなケースで、アイテムの投稿メンバを特定する必要がある場合には投稿許可アドレスはメンバーごとに異なっていなければならない。ということですよね?
はい。その理解で問題ないはずです。
iPod Touchについては、僕もiPod Toutchを購入したので、近日中に動作確認予定です。
メンバーからのMoblogメール投稿ができません。各所設定にミスはないはずなのですが・・・。
POP3取得は共通、投稿許可アドレスは別々、モードは互換/振分対応いずれでもメール取得されません。もちろんプラグインは各メンバーで有効にしています。
以下は各モードでのログです。取得先メールボックスはモード切替時にクリアして行っています。
#互換モードでのログ
Moblog: 516: 0 件のメールがあります
Moblog: 507: USER で認証を行います
Moblog: 344: サムネイル画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 320: 画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 283許可アドレス user:9, staffs@****.jp
Moblog: 256: ユーザ(9)の初期設定
Moblog: 493: ユーザ(9)のメールを取得開始します
Moblog: 536: ユーザ(1)のメールを取得終了しました
Moblog: 530: メッセージを削除します
Moblog: 577: 投稿許可アドレスに含まれていないので拒否(staffs@****.jp)
Moblog: 565: From(staffs@****.jp)
Moblog: 516: 1 件のメールがあります
Moblog: 507: USER で認証を行います
Moblog: 344: サムネイル画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 320: 画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 283許可アドレス user:1, webmaster@****.jp
Moblog: 256: ユーザ(1)の初期設定
Moblog: 493: ユーザ(1)のメールを取得開始します
Moblog: 488: 互換モードで動作します
#振分対応モードでのログ
Moblog: 516: 0 件のメールがあります
Moblog: 507: USER で認証を行います
Moblog: 344: サムネイル画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 320: 画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 283許可アドレス user:9, staffs@****.jp
Moblog: 256: ユーザ(9)の初期設定
Moblog: 493: ユーザ(9)のメールを取得開始します
Moblog: 536: ユーザ(1)のメールを取得終了しました
Moblog: 575: 投稿許可アドレスに含まれていないので拒否(staffs@****.jp)。振り分け対応モードなので他のアカウントで取得が行われる場合があります。
Moblog: 565: From(staffs@****.jp)
Moblog: 516: 1 件のメールがあります
Moblog: 507: USER で認証を行います
Moblog: 344: サムネイル画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 320: 画像保存ディレクトリ: /home/*****/nucleus/media/1/
Moblog: 283許可アドレス user:1, webmaster@****.jp
Moblog: 256: ユーザ(1)の初期設定
Moblog: 493: ユーザ(1)のメールを取得開始します
Moblog: 485: 振分対応モードで動作します
※ユーザ(2)〜(8)はプラグイン無効中。
今までひとりサイトではNP_Moblogは十分な利用経験があるのですが、多人数利用は初めてです。モード選択にある「ひとつのメールアカウントを複数のメンバーで共有する場合」とは取得先POP3を共有することをいうのでしょうか?、投稿許可アドレスを共有することを言っているのでしょうか?、正直こんがらがっています。
モード選択にある「ひとつのメールアカウントを複数のメンバーで共有する場合」とは取得先POP3を共有することをいうのでしょうか?、投稿許可アドレスを共有することを言っているのでしょうか?
結論から述べますが「POP3を共有すること」です。
NP_Moblogの動作はユーザーがA,B,C・・・という場合に大体下記の通りのような感じです。
1.ユーザAで指定されているPOP3にログイン
2.メールを取得
3.Fromを見て投稿許可に含まれるかチェック
4.含まれていれば、エントリとして追加
5.取得したメールを削除
6.次のメールを取得、なければ次のMoblogが有効なユーザーに切り換えて1~5を繰り返す。
互換モードと、振分対応モードの違いは、上記の5を行うのが「互換」、行わないのが「振分対応」です。
# 上記のログでも振分の方には「メッセージを削除します」というログがないので分かると思います
複数のユーザーでPOP3アカウントを共用しないのであれば、振分対応を使う必要はありません。もし、振分対応を使う場合には下記の2点に注意してください。
・ユーザーの投稿許可アドレスをそれぞれ異なるものにしておくこと
・投稿許可アドレスに*を使わないこと
うまくメールが取り込めていない理由は、上記のログを読む限りは「投稿許可アドレスに含まれていないので拒否」となっているので、staffs@****.jpがユーザー(1)の投稿許可アドレスに入っていないせいだと思います。もし(1)のユーザーで取り込みたいのであれば、staffs@****.jpを投稿許可アドレスに追加すべきですし、それ以外のユーザーで取り込みたいのであれば、そのユーザーの投稿許可アドレスにstaffs@****.jpを追加してから、Moblogを有効にすればよいと思います。
# 余談ですが、ログはNucleusのログの制限により時系列的に並んでいないので注意してください。
やはりどうもおかしいです。投稿許可アドレスをはじめ再度各所の文字大小/スペース等まで見直しましたが設定にミスは見つかりませんでした。ユーザー(1)のwebmaster@については正常に取得はもちろんメールタイトルでのオプション上書き等も行えています。
Nucleus:v3.41
PHP5.1.6
MySQL5.0
メール環境はGoogleApps(std)にて全て設定
ユーザー(1)
メールアドレス:webmaster@*****.jp
POP3ホスト:ssl://pop.gmail.com
POP3ポート:995
POP3ユーザーネーム:moblog@*****.jp
投稿許可アドレス:webmaster@*****.jp
ユーザー(9)
メールアドレス:staffs@*****.jp
POP3ホスト:ssl://pop.gmail.com
POP3ポート:995
POP3ユーザーネーム:moblog@*****.jp
投稿許可アドレス:staffs@*****.jp
moblog@...jpの受信トレイをクリア
staffs@...jpよりmoblog@...jpへメール送信
Moblog(link)にて受信動作
ログ確認
10:34:31 Moblog: 516: 0 件のメールがあります
10:34:30 Moblog: 507: USER で認証を行います
10:34:29 Moblog: 516: 1 件のメールがあります
10:34:29 Moblog: 565: From(staffs@*****.jp)
10:34:29 Moblog: 575: 投稿許可アドレスに含まれていないので拒否(staffs@*****.jp)。振り分け対応モードなので他のアカウントで取得が行われる場合があります。
10:34:29 Moblog: 536: ユーザ(1)のメールを取得終了しました
10:34:29 Moblog: 493: ユーザ(9)のメールを取得開始します
10:34:29 Moblog: 256: ユーザ(9)の初期設定
10:34:29 Moblog: 283許可アドレス user:9, staffs@*****.jp
10:34:29 Moblog: 320: 画像保存ディレクトリ: /home/******/media/1/
10:34:29 Moblog: 344: サムネイル画像保存ディレクトリ: /home/******/media/1/
10:34:27 Moblog: 507: USER で認証を行います
10:34:27 Moblog: 344: サムネイル画像保存ディレクトリ: /home/******/media/1/
10:34:27 Moblog: 320: 画像保存ディレクトリ: /home/******/media/1/
10:34:27 Moblog: 283許可アドレス user:1, webmaster@*****.jp
10:34:27 Moblog: 256: ユーザ(1)の初期設定
10:34:27 Moblog: 493: ユーザ(1)のメールを取得開始します
10:34:27 Moblog: 485: 振分対応モードで動作します。
Moblog(link)にて再度受信動作
ログ確認
10:35:49 Moblog: 516: 0 件のメールがあります
10:35:48 Moblog: 507: USER で認証を行います
10:35:48 Moblog: 344: サムネイル画像保存ディレクトリ: /home/******/media/1/
10:35:48 Moblog: 320: 画像保存ディレクトリ: /home/******/media/1/
10:35:48 Moblog: 283許可アドレス user:9, staffs@*****.jp
10:35:48 Moblog: 256: ユーザ(9)の初期設定
10:35:48 Moblog: 493: ユーザ(9)のメールを取得開始します
10:35:47 Moblog: 516: 0 件のメールがあります
10:35:46 Moblog: 507: USER で認証を行います
10:35:46 Moblog: 344: サムネイル画像保存ディレクトリ: /home/******/media/1/
10:35:46 Moblog: 320: 画像保存ディレクトリ: /home/******/media/1/
10:35:46 Moblog: 283許可アドレス user:1, webmaster@*****.jp
10:35:46 Moblog: 256: ユーザ(1)の初期設定
10:35:46 Moblog: 493: ユーザ(1)のメールを取得開始します
10:35:46 Moblog: 485: 振分対応モードで動作します。
これですが、一度メールを受信すると、削除していないにも関わらずそのメールが2回目以降受信できていませんね。
これはGmail固有の問題のように思います。下記の最新モードを使ってみるのはどうでしょうか。
http://mail.google.com/supp...
正常動作確認できました。
リンク先のGmailヘルプを参考にPOP3取得アドレスにて「 recent: 」をメールアドレス頭につけることにより正常に取得できるようになりました。
最初は「メール転送と POP/IMAP」の中の [すべてのメールで POP を有効にする] という選択保存だけではダメで、次にこのNucleus設定項目中のPOP3取得アドレスに「 recent: 」をつけるという措置をしました。
なお、Gmailの設定「メール転送と POP/IMAP」の中の「2. POP でメールにアクセスする場合」のプルダウンセレクタは削除でも残すでもいずれでもOKでした。
長々とログはりつけてしまって、ごめんなさい。
ちゃんと動いたんですね。何よりです。
Gmailはちょっとクセがありますね。。。。。
iPodTouchでなくiPhoneからだとまた違うんですね。
i.softbank.jpメールからだと画像だけになってしまう例が見つかりました。
また、「(>_<)」という絵文字のアンダーバー以下の文章が文章量に関わらずなぜだか処理されずに切れてしまうという例が複数ありました。
いずれも見たまま報告だけで該当メールが既に削除されてたので詳細はわかりません。
iPodTouchでなくiPhoneからだとまた違うんですね。
なるほど。これもちょっと頭にいれておきます。
また、「(>_<)」という絵文字のアンダーバー以下の文章が文章量に関わらずなぜだか処理されずに切れてしまうという例が複数ありました。
これについては既知の不具合で、文章からタグを除去する処理によるものなのですが、現状では対処が難しいのでそのままになっています。
お世話になります。
送信するメール本文について質問させてください。
送信する本文にテンプレート変数<%~%>を含むと、この部分が削除されてしまいます。
個別設定のhtml文の削除しないタグあたりでいろいろ試してみたのですが解決に至りませんでした。
サーバーで受けたメールに対して、本文に変数を付加したものをMoblogでブログに投稿したいと思っています。
解決方法をご教示いただけると助かります。
よろしくお願いいたします。
返信が遅くなりました。
本文中のタグはすべて削除するように作ってああるので、問答無用でタグが削除されてしまいます。
変数を含めたい場合には、おっしゃるとおり<%a(b)%>のようなタグをそのまま削除しないタグに書く方法があります。
ただ、タグのパラメーターが変化する場合は対応が難しいので、プラグイン中のstrip_tags(と書かれた行を削除してください。この場合、変数に関わらずすべてのタグが有効になりますので気をつけてください。
返信ありがとうございました。
実現したいことは行政の防犯防災メールをサーバーで受け、BodyにNP_GoogleMapのタグを仕込んでからMoblog側に転送し、GoogleMapと防犯情報を随時更新させていくことでした。
パラメータが毎回変わるので、どうしたものかと思っていましたが、力技で何とか形になりましたのでご報告いたします。
MoblogのBody設定部分を
<%<%body%> にして、送信メール本文を gmap(~ で送信してみたらOKでした
ご教示いただいたstrip_tags の部分も気にはなってましたが、変える勇気が出ませんでした。。。
とりあえずこのまましばらく様子見してみます。
問題が出るようでしたら報告させていただきます。
素晴らしいプラグインの開発、感謝しています。
ありがとうございました
なんと!そういう解決方法がありましたか。
さすがにその方法は僕も思いつきませんでした。。。。
初めまして。Moblog、いつも大変便利に使わせていただいています。
コアを3.65にバージョンアップをしたところ、3.64バージョンではしっかり動作していたのですが、記事に反映されなくなってしまいました。
動作ログとってみると、ちゃんと動いているようですが、DBのitemは増えておらず、ホトホト弱りました。
大変お手数で恐縮ですが、お心当たりがありましたらご教授いただけないでしょうか。
よろしくお願いいたします。
状況を確認しますので、少しお待ちください。
ご確認中とのこと、ありがとうございます。
念のため、バージョンとログを添付します。
NP_CustomURLを使用しています。
よろしくお願いいたします。
----------------------------------------------------------------
Moblogバージョン: 1.17.1
----------------------------------------------------------------
2013-04-06 08:33:59[XXXXX] Moblog: 640: single partメッセージです
2013-04-06 08:33:59[XXXXX] Moblog: 441: 更新します。
2013-04-06 08:33:59[XXXXX] Moblog: 485: 振分対応モードで動作します。
2013-04-06 08:33:59[XXXXX] Moblog: 493: ユーザ(1)のメールを取得開始します
2013-04-06 08:33:59[XXXXX] Moblog: 256: ユーザ(1)の初期設定
2013-04-06 08:33:59[XXXXX] Moblog: 283許可アドレス user:1, XXXXX@t.vodafone.ne.jp
2013-04-06 08:33:59[XXXXX] Moblog: 283許可アドレス user:1, XXXXX@XXX.XX.XX
2013-04-06 08:33:59[XXXXX] Moblog: 320: 画像保存ディレクトリ: /var/www/vhosts/ZZZ.com/httpdocs/blog/media/1/
2013-04-06 08:33:59[XXXXX] Moblog: 570: 投稿許可アドレスに含まれているので受付(XXXXX@XXX.XX.XX)
2013-04-06 08:33:59[XXXXX] Moblog: 565: From(XXXXX@XXX.XX.XX)
2013-04-06 08:33:59[XXXXX] Moblog: 516: 28 件のメールがあります
2013-04-06 08:33:59[XXXXX] Moblog: 507: USER で認証を行います
2013-04-06 08:33:59[XXXXX] Moblog: 344: サムネイル画像保存ディレクトリ: /var/www/vhosts/ZZZ.com/httpdocs/blog/media/1/
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。