OpenPNE: 2009年11月アーカイブ

うちで運営している広島地域 SNS(というと語弊があるか(^^; 実験サイトだし)の i-bee で、Skype ボタンを復活させました。

やり方は簡単。ちょっとテンプレートを直すだけ。
 ↓
http://e-parlor.org/wiki/openpne:skype

skype.jpgマイフレンドが SkypeID を登録していたら、写真の下に Skype のボタンが表示されます。

実は、i-bee がスタートしてすぐくらいに(2006年4月だね)、手嶋屋社長のブログで読んでこの機能は組み込んでて、i-bee に参加してくれてた Web デザイナさん達と Skype で打合せをする時のランチャにしてたんだけど。

OpenPNE のバージョンを 2.0.2.1 から 2.0.7.4 に上げた時点ですっかり対応を忘れてて、途中で誰かに指摘されて「ああ、消えてるな」というのは知ってたんだけど、その時には自分が Skype 使ってなかったんで無視してたという・・・(^^;

で、今回、サーバ移行作業のついでに復活させておきました。:-)

・・・が、今の自宅のパソコンには Skype 入ってないんだよなあ。
INS64 じゃ、ダウンロードするのも面倒くさいし。(^^;
誰かちゃんと機能してるかテストして。(笑)

以前もここに書いたことがあるが、うちで運営している某地域 SNS(OpenPNE のカスタマイズで構築)のサーバの引っ越しをしたいのだが、新しいサーバで何故かログインが出来ないため引っ越し中断・・・という状況が発生していた。

原因はわかっていて、ログインIDであるメールアドレスが可逆暗号化され DB に格納されているのだが、その可逆暗号化の結果が新旧のサーバで異なるためである。

OpenPNE は Blowfish.php というライブラリを使用して可逆暗号化を行うが、具体的には、以下のように何らかの環境の違いで、暗号化された結果の値がサーバにより異なってしまうのだ。(俺が OpenPNE のプログラムを元に作った encode/decode プログラムで試してみた)

(例)

旧サーバで、アドレス hoge@exsample.jp を可逆暗号化。

% ./address_encode.php hoge@exsample.jp
KAE+4mgyUhML7DfiOOerPA==

得られた結果を、同じ旧サーバで復号してみる。

% ./address_decode.php KAE+4mgyUhML7DfiOOerPA==
hoge@exsample.jp

バッチリ復号できる!

で、この暗号化されたコードを、新サーバで同じように復号してみる。

% ./address_decode.php KAE+4mgyUhML7DfiOOerPA==
*エ喀:t.^+7僖甍ヌ

うぎゃあ。化け化けになって駄目じゃん。

ちなみに、同じアドレスを新サーバで可逆暗号化すると、まったく違う結果になる。

% ./address_encode.php hoge@exsample.jp
3ATgPj5OoPcpqogJG2uGhg==

で、もちろんこれは復号出来る。

% ./address_decode.php 3ATgPj5OoPcpqogJG2uGhg==
hoge@exsample.jp

・・・ということだ。

なので、旧サーバの DB の内容を単純にバックアップ&リカバリしただけでは SNS にログイン出来ないのである。

結局、旧サーバで一旦 c_member_secure テーブルの内容を復号してファイルに保存。
新サーバで DB をそのままリカバリした後、このファイルをもとに改めて可逆暗号化を行い、c_member_secure テーブルを UPDATE するという移行ツールを作って対応。

これで、PC からのログインも、携帯からのログイン(簡単ログイン含む)もばっちりOK!となった。

いやあ、しかし、何でこんな事が起きるんかねえ。
OS の違いは関係ないんだろうけど。(旧サーバは FreeBSD 6.0-RELEASE、新サーバは CentOS release 5.4)
PHP(PEAR 含む)のバージョンが全然違うので、そのせいかねえ。

こういう現象が世の中で沢山起きていれば商売になるのだがなあ・・・(^^;

このアーカイブについて

このページには、2009年11月以降に書かれたブログ記事のうちOpenPNEカテゴリに属しているものが含まれています。

前のアーカイブはOpenPNE: 2009年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら