やられました

上記のジャンルにあてはまらない話題、雑談など
アバター
愚か者
記事: 12
登録日時: 2009/10/19 05:15

やられました

投稿記事by 愚か者 » 2010/3/09 23:49

多分やられたと思います。configure.php関連(一般設定の表示が完全にこわされています)と顧客と商品データベースの日本語表示が????に書き変えられてしまいました。adminの名前を変更していなかったのが悪かったかもしれません。ZEN-CART最新バーションだと思います。対処方法と修復の方法を教えていただければ幸いです。今の状態で再インストールした場合はデータベースは現状のままつかえるのでしょうか?よろしくお願いいたします。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

Re: やられました

投稿記事by kimono » 2010/3/10 09:40

こんにちわ。kimonoです :)

内容だけお聞きしますと、よくあるガンブラーなどの被害や、以前のZen Cartの脆弱性とは様子が全く違いますね。
config関係のデーターベースだけが文字化けということは、例えば、お使いのサーバー会社のデーターベースが今まで4.0系で文字コードの指定がなかったのが、4.1以降や、5.0系にバージョンアップなどして、文字コードの指定が必要になったにも関わらず文字コードの指定をしてないために、文字化けしている状況と似ていると思います。
まずはデーターベースを確認してみては如何でしょうか? 文字コードはどうなっておりますでしょうか? ちなみにzen-cart-v1.3.0.2-l10n-jp-5であれば、文字コードはujis_japanese_ciになります。
アバター
jota

Re: やられました

投稿記事by jota » 2010/3/10 10:21

もしかしたら、ご利用中のサーバーで、phpアップデートしてませんか??
関連ファイルをバックアップしていらっしゃれば上書きアップロードで直ると思いますが、あとは?になってしまったところを再度書き換えるしかないかも。
おそらく商品データも影響受けると思うので、カテゴリー数や商品数が多いところは大変ですが・・・。
アバター
ひろちゃ

Re: やられました

投稿記事by ひろちゃ » 2010/3/10 13:36

愚か者さんへ

私も同様の現象にあいまして、これから対策をしようと考えています。
(レンタルサーバーのPHPが先日アップデートされたのがきっかけです。)

既存データを書き直したりしない限り「見かけ上」"??????..." になっているだけであって、データベースの情報そのものは文字化けしていないんだと思います。
(phpMyAdminからデータベースそのものを覗いてみましたが、やはり大丈夫でした。)

ただ。具体的にどこをどのように対策(設定変更)すればよいのか解決できずにいます。どなたかご存知の方はいらっしゃいますか?
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

Re: やられました

投稿記事by kimono » 2010/3/10 14:26

ひろちゃさんの場合は、それぞれの状態がどのようになっているか、バージョンなども言った方がいいかもしれませんね。
もしかすると、Zen Cartのバージョンが古くて、php5対応していないバージョンなのかもしれません。
まず、お使いのZen Cartのバージョン、phpのバージョン、mysqlのバージョン、mysqlの文字コードなどによって変わってくると思います。
アバター
ひろちゃ

Re: やられました

投稿記事by ひろちゃ » 2010/3/10 15:49

kimonoさんへ

レスいただきましてありがとうございました。
こちらの状況を取り急ぎお伝えします。

Zen Cart : 1.3.0.2-l10n-jp-5
PHP : 5.2.12
MySQL : 5.0.67

MySQLの文字コード(?)はわかりません。スイマセン。

データベースの文字コードを整合させるにはphpMyAdminから何らかの設定を変更すればよいのかな、と思っていたのですが...。

申し訳ありません。よろしければお知恵をお貸しください!
アバター
ひろちゃ

Re: やられました

投稿記事by ひろちゃ » 2010/3/10 15:57

kimonoさんへ

スミマセン!伝え忘れました。

データベースの文字コードをphpMyAdminで見ると「utf8_general_ci」になっていますので、単純にこれを全てのテーブルに対して「ujis_japanese_ci」に変更すればよいのかな、と思ったりもしています。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

Re: やられました

投稿記事by kimono » 2010/3/10 16:11

残念ながら、一度utf8_general_ciで登録されているデーターをphpmyadmin上からujis_japanese_ciへ変更する手段はありません。弊社でも何年も前にそれで悩み、対処法がなくて困って掲示板を使ったのが最初です。その時の履歴もありますが、相当前ですね^^;
データー自体が壊れている訳ではないため、sshなどでmysqlから文字コードを指定してdumpして、新たにujis_japanese_ciでデーターベースを構築して、dumpされたデーターベースの文字コードの指定を全てujisに変更して、登録しなおしを行なわないといけませんね。
恐らく本来の使い方はこれが正しいと思います。
表示側の文字コードとデーターベースの文字コードを合わせる意味でも、後々文字化けなどの問題なども起こらないと思います。

ただ、単純に表示側の文字コードとデーターベースの文字コードを合わせるという意味では、includes/classes/db/mysql/query_factory.phpの40行目の
$character_set_name = 'ujis';
をutf-8に変更することで、文字化けはなくなるかもしれません。
ただ、その後のバージョンアップや、何かで文字化けなどの原因になっても保証はできませんが。。。
アバター
ひろちゃ

Re: やられました

投稿記事by ひろちゃ » 2010/3/10 18:39

kimonoさんへ

レスいただきましてありがとうございました。
大変参考になりました。こちらでなんとか手を尽くしてみます!
アバター
ゲスト

Re: やられました

投稿記事by ゲスト » 2010/3/11 03:02

kimono様

ご説明いただき、ハッカーではないようで少し安心しました。昨日はすっかり落ち込んでましたが、お教えいただきました内容からデータベースも壊れていない可能性が強いということもわかって元気がでました。その後、サーバー会社に問合せしてPHPのバージョンアップがあったことを確認しておっしゃることで間違いないことを確信しました。ありがとうございます。PHPは5.2.1から5.2.12にアップデートされたとのことです。ちなみに、私のZEN-CARTのバージョンは1.3.0.2-l10n-jp-5です。今回の修復は知り合いのプログラマーに依頼して現在修復しつつあります。ありがとうございました。
アバター
愚か者
記事: 12
登録日時: 2009/10/19 05:15

Re: やられました

投稿記事by 愚か者 » 2010/3/11 03:10

kimono様

先程返信しました時、ゲストになっていました。すみません。
アバター
愚か者
記事: 12
登録日時: 2009/10/19 05:15

Re: やられました

投稿記事by 愚か者 » 2010/3/11 03:19

ひろちゃ様へ

類似ケースのご報告をいただき修復のために参考になりました。ありがとうございます。今回の場合は自分でやる自信がありませんでしたので、私の場合は知り合いのプログラマーに依頼しました。なんとか修復しつつあります。
アバター
愚か者
記事: 12
登録日時: 2009/10/19 05:15

Re: やられました

投稿記事by 愚か者 » 2010/3/11 03:24

jotaさんへ

おっしゃるとおりPHPのバージョンアップでした。レスありがとうございます。今回は幸いデータは全部大丈夫でした。
アバター
ひろちゃ

Re: やられました

投稿記事by ひろちゃ » 2010/3/11 12:09

愚か者さんへ

今回のケースですが、愚か者さんの発生時期からしてレンタルサーバーは「お名前.com」ではないですか?実は私はココのサーバーを利用していまして、サーバーのバージョンアップが2010年3月9日(火)13:00〜14:00に実施(PHPバージョンアップ/PHP5.2.1 -> PHP5.2.12)とのことでしたので、このときを境にテキスト異常が発生しました。

「お名前.com」サーバーでZen Cart利用者って意外といるんじゃないでしょうかね。なんて思ったりします。しかも平日の昼間にバージョンアップ。
他に「アオリ」を受けたユーザーもいるのでは、と心配します。

ちなみに、愚か者さんのお知り合いのプログラマーさんって、どんな方法で修復するんでしょうかね?その方のご意向にもよりますが、例えばkimonoさんがおっしゃっている方法以外の手段がもしあれば、お教えいただけると助かります。

こちらはこのあと手を尽くしてみます!
(私はWebサイトのデザイナー。クライアントのショッピングサイトが今回の突然の現象に見舞われて、まー大変です!)
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

Re: やられました

投稿記事by kimono » 2010/3/11 12:40

通常は、phpを5.2.1から5.2.12に変えたぐらいで、データーベースの文字コードがおかしくなるなんてことないはずですが、phpだけではなくmysqlの方もバージョンアップとか一緒にされてませんかね? 以前のmysqlのバージョンと現在のmysqlのバージョンが違っていたら、意味が分かるのですが。。。
まぁ、どちらにしろ、それでデーターベースがおかしくなった。もしくは、文字コード関係が変わったなどがあるのであれば、クレームを言ってもいいと思います。
弊社もレンタルサーバーをやっていて、保守・メンテナンスでバージョンアップすることはあっても、文字コードなどの問題は起きてはいけないことなので、常に注意しておりますし、あった際は、弊社のオンラインのSHOPも恐らく同じようになるため、一緒に対応させていただいておりますので、すぐに何かしらの対応を行なうのですが、何もないのでしょうかね・・・
ちなみに、通常はmysql4.0系から4.1系や、5.0系に変わった際は、元々文字コードがなかったのに、文字コードが増えるため、おかしくなるのは多くの皆さんが知っていることですが、何か他であるのであれば、同様のことがこれからもあるかもしれませんので、情報共有しておいた方がいいかもしれませんね。
アバター
marl

Re: やられました

投稿記事by marl » 2010/3/12 13:55

今検証しているカートが使用しているmysqlを確認してみましたが
utf8_general_ciになっていますが問題なく表示されているように見えますが・・・
ただ、機種依存文字は?に化けてしまいます。

ちなみに、
Zen Cart 1.3.0.2-l10n-jp-5
MySQL 5.0.77
PHP Version 5.2.11

です。
DBをujis_japanese_ciで作成しなおして検証してみましたが、
表示や、登録などを画面から行った場合にDBに格納される値は
同じでした。

mysql.iniやphp.iniの設定によっても変わるのでは無いいでしょうか?
アバター
愚か者
記事: 12
登録日時: 2009/10/19 05:15

Re: やられました

投稿記事by 愚か者 » 2010/3/15 04:19

ひろちゃ様へ

おっしゃるとおり、お名前.COMです。ほぼ、現状回復されましたが、まだ、修復は完全には終わっていません。途中でいろいろ副作用が出たみたいで、今回本当に振りまわされました。終了後、プログラマーに事情を聞いて、ここで報告させていただきたいと思っています。
アバター
愚か者
記事: 12
登録日時: 2009/10/19 05:15

Re: やられました

投稿記事by 愚か者 » 2010/3/15 04:22

kimonoさんへ

kimonoさんのご意見より私も本当にphpのバージョンアップだけなのだろうかと思いはじめています。新しい情報が入りましたら報告させいただきます。
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

Re: やられました

投稿記事by kimono » 2010/3/15 21:16

phpのバージョンアップでphp.iniの設定(mbstring)辺りの設定が変わったとかはどうでしょうね??

“Zen Cart 雑談処「禅亭」” へ戻る