セキュリティに問題のあるコードの改善をおこないました。
1.0bにはCSRF攻撃に対する脆弱性が存在します。この問題についてはNP_0TicketForPluginで解決することもできますが、このバージョンでは独自に対策を行っています。
※使い方についてはplugins:impexp [Nucleus CMS Japan Wiki]にまとめてあります
動作確認はNucleus 3.24(UTF-8)、PHP 4.4.4環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
† [Added] Ticket処理を追加(CSRF対策)
CSRF攻撃に対する脆弱性について対策を行いました。
この問題についてはNP_0TicketForPluginで解決することもできます。
† [Added] PRIMARY CATEGORYが空の際にCATEGORYを参照するようにした
インポートを行う際、PRIMARY CATEGORYが空だった場合にCATEGORYの値を使うようにしました。
どうもです。
インストールボタンを押した途端真っ白な画面になってしまい、インストールできません。
Verは3.24UTF-8
PHPVer5です。
ごめんなさい。パッケージングのミスでファイルが一つ足りてませんでした。
アーカイブを更新したので、もう一度ダウンロードしてみてください。
はじめまして、以下エラーが出てしままうんですが、こちらの環境のせいでしょうか?
Ver 3.24EUC さくらサーバです。
plugin file NP_ImpExp.php could not be loaded, or it has been set inactive because it does not support some features
自己解決できました。
すみませんでした。
はじめまして。
プラグインをダウンロードさせて頂いてエクスポートを作成したところ、
?鴻?帥?若???????・???綣掩??・?・?c?・???障???障?????祉?祉?祉?????帥?・????<span style="color:#0080FF"><span style="font-weight: bold">???・?眼???ヨ?</span></span>???????????蕁??????障??鐚?鐚?
上記のような文字化けをしてしまいます。
文字コードはEUCなのですが・・・
もし解決方法があったらお教え下さい。
Importがうまくいかないという話は聞きますが、Exportが文字化けするという話は初めて聞きました。
この文字化けは、何か他のアプリケーションに読み込ませた場合に起きるのでしょうか。もう少し状況を詳しく教えてください。
すみません、他のテキストエディタで試してみたらちゃんと読めました。
お騒がせして申し訳ありませんでした。
大変素晴らしいプラグインをありがとうございます。
さくらインターネットのブログからの移行に使用中です(さくらブログからMT形式で月ごとにエクスポートしています。)。
最初の2月はとてもスムーズでしたが、以後、『このファイルタイプは認められていません(application/octet-stream)』というエラーが表示され、インポートできません。
(さくらからのエクスポートは成功した時と々方法です)
何か察するところが有れば、お教え下さいm(__)m
おそらくですが、アップロードするファイルの拡張子がおかしいのではないかと思います。アップロードするファイルの拡張子が.txtでなければ拡張子を.txtにしてみてください。
拡張子を.txtにしてみてください。
大正解でした。
.log を.txtに変更したところ、全く問題なくインポートされました。
お忙しい中、早々のアドバイスありがとうございました。
はじめまして、本日NP_ImpExpをインストールし、エクスポートしたんですが、エラーが発生します。
状況はエクスポートのファイルはダウンロードできますが記事ごとのAUTHOR:前に以下のようなメッセージが付加されてしまいます。
Warning</b>: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>url/nucleus/plugins/NP_ImpExp.php</b> on line <b>349</b><br />
対処法はありますか?
よろしくお願いいたします。
おそらくトラックバックがないからですね。
プラグインの349行目を
while( $tb = mysql_fetch_assoc($tbRes) ){
を下記に書き換えてください。
while( $tb = @mysql_fetch_assoc($tbRes) ){
エラー表示消えました。
確かにトラックバックはありません。
ありがとうございます。感謝!
はじめまして。
NP_ImpExp v1.1プラグインを利用させていただきましたが、以下のエラーメッセージが出てしまいました。
Fatal error: Call to undefined method NP_ImpExp::error() in ../blog/nucleus/plugins/NP_ImpExp.php on line 126
これは私の方の設定が悪いのでしょうか・・・。
ちょっとこのエラーはみたことがないですね。
確認ですが、これはインポートのときのエラーですよね。
とりあえずプログラムの126行目を見る限りでは、ファイルの容量がアップロードできる容量を超えているというエラーなので、ファイルをいくつかに分割してからアップロードしてみるというのはどうでしょうか。
早速のレスありがとうございます。
試してみたところちゃんとインポートできました。
当初1.02MBほどのファイルをインポートさせようとしておりました。
1/4程の大きさに分割したところ、無事インポートできました。
お騒がせいたしました。
「Exportを実行する」をクリックしても反応がありません。ブラウザの関係かと思いfirefoxやIE7・オペラで確認しましたがやはり反応がありませんでした。
(エラー表示は出ません。)
何か考えられる要因はありますでしょうか?
おそらくですが、ブラウザというよりもサーバ側の問題だと思います。
エラーログが確認できるのであれば、エラーログを確認してみてください。
エクスポートしても空のファイルしか作成されません。何か考えられる原因があればご教授ください。
よろしくお願いします。
Nucleus 3.65ではこのプラグインは使えないでしょうか?
「(ドメイン)/nucleus/plugins/impexp/index.php にはファイルが見つかりませんでした。」
と表示されます。
3.65ではNucleusの内部構造が変更された影響で、そのままでは動作しないようですね。
NP_ImpExp.php の 304行目付近にある部分を書き換えてください。
下記の - で表される1行を削除し、+ で表される2行を追加してみてください。
書き換える際は行頭の + は必要ありませんのでそちらは取り除いてください。
--- NP_ImpExp.php.org 2006-10-17 06:35:40.000000000 +0900
+++ NP_ImpExp.php 2013-01-09 23:59:54.000000000 +0900
@@ -304,7 +304,8 @@
$res = mysql_query($query);
while( $item = mysql_fetch_object($res) ){
$itemVar = array();
- $manager->notify('PreItem', array('blog' => &$blog, 'item' => &$item));
+ $arr = array('blog' => $blog, 'item' => $item);
+ $manager->notify('PreItem', $arr);
// comment
$commentQuery = 'SELECT * , UNIX_TIMESTAMP(ctime) as ts FROM ' . sql_table('comment') . ' WHERE citem = ' . $item->itemid . ' order by ctime';
すみません、エラーが出てしまうので教えてください。
プラグインをインストールし、「Exportを実行する」ボタンを押すと、下記エラーが表示されます。
Deprecated: Assigning the return value of new by reference is deprecated in /virtual/・・・/public_html/blog/nucleus/plugins/impexp/index.php on line 88
Deprecated: Assigning the return value of new by reference is deprecated in /virtual/・・・/public_html/blog/nucleus/plugins/impexp/index.php on line 90
その前に、管理ホームの上の部分には次のようなエラーが出ています。
Deprecated: Assigning the return value of new by reference is deprecated in /virtual/・・・/public_html/blog/nucleus/plugins/impexp/index.php on line 88
Deprecated: Assigning the return value of new by reference is deprecated in /virtual/・・・/public_html/blog/nucleus/plugins/impexp/index.php on line 90
サーバーはxrea
mysql 5.6.22
PHP5.3.29
Nucleus 3.70
文字コードUTF-8
よろしくお願いいたします。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。