セキュリティに問題のあるコードの改善を行いました。
1.14以前をお使いの方はバージョンアップを強く推奨します。
動作確認はNucleus 3.23(UTF-8)、PHP 4.4.4環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
† 変更サマリ
[Fixed] セキュリティの向上
このプラグインによるメール投稿でもNucleusの標準機能である新しいアイテムのメール通知を利用できるようにしていただけませんか。
ご検討よろしくお願いします。
要望ありがとうございます。
これについては比較的簡単に対応できそうなので、次期版に反映させる方向で考えたいと思います。
お世話になっております。質問なのですが、半角の「>」などを使った絵文字を使うと(例=><;)、「<」から後ろの文字が消されてしまうのですが、これはどう対応すればよろしいでしょうか。
自分なりに削除しないタグの所に色々登録してみたのですが上手くいきません。
お忙しい所申し訳無いのですがご返答下さい。
# ちょっと時間が取れないので手短にいきます。
これは<以降が壊れたタグであると認識されてしまって、そこから後ろが削除されてしまっていると思います。
もし、タグ削除の機能がまったく必要がないというのであれば、727行目付近の
$text = strip_tags($text, $this->no_strip_tags);
という部分を削除することで解決できると思いますが、いかがでしょうか。
お忙しい所ありがとうございます。
早速試してみます!
お世話様です。プラグインの修正成功しました!!本当にありがとうございます。
今色々と実験を行っていたのですが、DoCoMoからのデコメールを送信すると、<BODY>タグなどが残ってしまい、一応見るのには問題は発生していないのですが、HTML的にあり得ない文章になってしまっています…。
私の方でも色々と試してみますが、出来れば削除するHTMLタグを指定できるように出来たら良いと感じました。
お時間の許す時でいいので、ご返答ください。
DoCoMoからのデコメールを送信すると、<BODY>タグなどが残ってしまい
これについては><;のような顔文字を許すために、タグ削除の機能の部分を丸ごと削ってしまったので、ある意味仕方がない現象ではないかと思います。(これについてはhttp://jp.php.net/strip_tagsに書いてあるの問題になります。)
プログラム的には削除するHTMLタグを指定するようにすることもできるとは思うのですが、HTMLメールについては実装の差異が大きすぎるという事情があるため、許可するタグを指定するような形に落ち着いたということをご理解いただければと思います。
動作確認はしていませんが、
$text = strip_tags($text, $this->no_strip_tags);
があった部分を
preg_match_all("/<([^>]+)>/i",$this->no_strip_tags,$allTags,PREG_PATTERN_ORDER);
foreach ($allTags[1] as $tag){
$text = preg_replace("/<\/?".$tag."[^>]*>/iU","",$text);
}
とすることで、設定の「htmlメールの場合に除去しないタグ」の部分で指定したタグのみが削除できるようにできるのではないかと思います。
お世話になります。以前よりver1.11を使わせていただいておりまして、この度1.15へ移行しようと思い、インストールしたのですが、以下のエラーメッセージが出ました。
Parse error: parse error, unexpected T_STRING in /home/mu10777/public_html/blog/nucleus/plugins/NP_Moblog.php on line 57
がEUCを使っておりますので、テキストエディタにて変更はしたのですが・・・。
もしよろしければ、ご返答ください。
宜しくお願いします。
Parse errorなので、変換の際にどこかファイルが壊れてしまったのではないかと思います。
もう一度同様の手順で変換、アップロード、インストールをしても同じ症状でしょうか?
お忙しいところのご返答ありがとうございました。ご指摘頂いたとおりにしてみたところ、うまくインストールできました。本当にどうもありがとうございました。
いつもお世話になっております。
初歩的な質問かもしれないのですが、どうしても解決できないので、解決方法を教えてください。
moblogにメールを送ると、別のユーザのmediaディレクトリに画像が保存されてしまいます。
私のところのユーザの設定だと
ユーザIDが1のkzfm(一般ユーザ)
2~8は別のユーザ(一般ユーザ)
ユーザIDが9のmoblog(moblog用ユーザ)
として運用しています。ユーザIDが9のmoblogにNP_Moblogの設定をし、使用している状況です。
従来のバージョンではmoblog用のメールを送ると.../media/9/のディレクトリに画像データが保存されていたのですが、先日、V1.15にバージョンアップしてから、.../media/1のディレクトリに保存されてしまっています。
どうしたら.../media/9に保存されるようにできるでしょうか。
ちなみに、動作モードは「互換モード」、「画像を保存するディレクトリ」と「サムネイルをを保存するディレクトリ」は「デフォルト(useridディレクトリ)」になっています。
念のためログを下記いたします。
2007-03-17 19:05:47 [kzfm] Moblog: 869: 追加するcatid: 15
2007-03-17 19:05:47 [kzfm] Moblog: 878: $catid:15, $draft:0, $closed:0
2007-03-17 19:05:47 [kzfm] Moblog: 883: itemid: 1840
2007-03-17 19:05:47 [kzfm] Moblog: 533: メッセージを削除します
2007-03-17 19:05:47 [kzfm] Moblog: 539: ユーザ(9)のメールを取得終了しました
2007-03-17 19:05:47 [kzfm] Moblog: 857: アイテムは空じゃないです
2007-03-17 19:05:47 [kzfm] Moblog: 845: blogidはOK!
2007-03-17 19:05:47 [kzfm] Moblog: 851: メンバーチェックもok!
2007-03-17 19:05:47 [kzfm] Moblog: 823: サムネイルがあります
2007-03-17 19:05:47 [kzfm] Moblog: 685: アイテム追加します
2007-03-17 19:05:47 [kzfm] Moblog: 764: FileName(2007031719054700-F1000009.jpg)
2007-03-17 19:05:47 [kzfm] Moblog: 422: サムネイルを作成しました/home/www/blog/media/1/2007031719054700-F1000009-small.jpg
2007-03-17 19:05:47 [kzfm] Moblog: 708: text part をみつけました[text/plain]
2007-03-17 19:05:47 [kzfm] Moblog: 714: image/data part をみつけました[image/jpeg]
2007-03-17 19:05:47 [kzfm] Moblog: 646: multipart partメッセージです
2007-03-17 19:05:47 [kzfm] Moblog: 568: From(hoge@docomo.ne.jp)
2007-03-17 19:05:47 [kzfm] Moblog: 573: 投稿許可アドレスに含まれているので受付(hoge@docomo.ne.jp)
2007-03-17 19:05:46 [kzfm] Moblog: 510: USER で認証を行います
2007-03-17 19:05:46 [kzfm] Moblog: 519: 1 件のメールがあります
2007-03-17 19:05:46 [kzfm] Moblog: 496: ユーザ(9)のメールを取得開始します
2007-03-17 19:05:46 [kzfm] Moblog: 263: ユーザ(9)の初期設定
2007-03-17 19:05:46 [kzfm] Moblog: 323: 画像保存ディレクトリ: /home/www/blog/media/1/
2007-03-17 19:05:46 [kzfm] Moblog: 347: サムネイル画像保存ディレクトリ: /home/www/blog/media/1/
2007-03-17 19:05:46 [kzfm] Moblog: 491: 互換モードで動
申し訳ないのですが、ご返答のほどよろしくお願いいたします。
なるほど。。。。
確かにこれはかなり気になる動作をしていますね。
精査しますので、少し時間をいただけますでしょうか。
おそらくですが、ユーザーIDが1のkzfmさんはSuper-AdminとしてNucleusをお使いですよね。また、moblog用ユーザの設定を変更する際にはkzfmというユーザーを使っているように見受けられます。
その場合に画像保存ディレクトリをuseridディレクトリに設定すると、Super-Adminのディレクトリに画像が保存されるバグがあるようです。修正版を用意しますので、今しばらくお待ちいただけますでしょうか。
すばやいご回答ありがとうございます。
確かに、kzfmがSuper-AdminとしてNucleusを使っています。されに、kzfmというユーザでmoblogユーザの設定をしています。
現状での対策は、moblogユーザでログインをして設定すれば宜しいでしょうか?
現状での対策は、moblogユーザでログインをして設定すれば宜しいでしょうか?
そうですね。
そうするとmoblogユーザーのディレクトリに画像が保存されるようになるはずです。
kzfmさん
新版をアップしましたので、どうぞ。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。