OpenPNEの最近のブログ記事

うーむ・・・
OpenPNE を新しいサーバに移したのだが、一般画面にログインできない。
(正しいメールアドレスと PW を入力しているのだが・・・)

管理画面には入れたので、試しに某ユーザのパスワードを、他の某ユーザと同じパスワードに変えてみると、c_member_secure の hashed_password の値は両者で同じだった。
つまり、ハッシュ化は新旧サーバで同じように行われているということ。
また、管理ユーザのパスワードだってハッシュ化されているので、そこのところは問題ないんだろう。

うーむ・・・わからん。
メールアドレスの問題かなあ。アドレスに含まれる '@' のエスケープがうまくいってないとか???

どうにも原因がわからないので、OpenPNE公式SNS の「質問全般」コミュに質問を上げてみた。何か有効な回答が得られればよいのだが・・・

<サーバ環境>

■旧サーバ

OS      : FreeBSD 6.0-RELEASE
OpenPNE : OpenPNE_2.0.7.4
MySQL   : mysql-5.0.18
PHP     : php-4.4.2
HTTPD   : Apache 2.0.55

■新サーバ

OS      : CentOS 4.7(x86_64)
OpenPNE : OpenPNE_2.0.7.4
MySQL   : mysql-5.1.25-rc
PHP     : php-5.2.5
HTTPD   : Apache 2.2.8

OpenPNE の DB を移行するため、旧サーバで

mysqldump -u hoge -phogehoge pne_db > pne_db_backup_20081230

で吸い上げたデータを、新サーバで

mysql -u hoge -phogehoge pne_db < pne_db_backup_20081230

したら、

ERROR at line 415: Unknown command '\'.

とエラーに。
ああ・・・新しいサーバの MySQL の default-character-set は utf8 だった。
つーことで、明示的に、

mysql -u hoge -phogehoge --default-character-set=sjis pne_db < pne_db_backup_20081230

と default-character-set を指定してやればOK。

ああ、そういえば昔、別の仕事で同じようなエラーが出た時は、エラーになった行の \ を、\\ と全部エスケープして登録したな。
今時は、UTF-8 をディフォルトの文字コードに指定していることが多いだろう。
Shift_JIS で作ってる DB を移行するときは、--default-character-set=sjis を忘れるなということだな。

iPhone でも携帯用画面を出してほしいという話があるんだが、やっぱ毎回 ID/PW を入れるんでは使いづらいじゃろうなあ。

iPhone は端末識別IDはつけられるんかなあ。
Web屋のネタ帳で「で、iPhoneって契約者固有IDは出力されるの?」というエントリーがあったのだが、そこについたコメントによると出さないようですが。

http://neta.ywcafe.net/000871.html

確かに User-Agent には含まれてないけど、携帯電話のようにメニューから識別IDを出力すると設定すれば出るようになる可能性もあるのかなと思ってたんですけど、セキュリティの問題云々もあって絶対出さない的コメントもあり、へぇ、そうなん?という感じ。
そもそも、User-Agent につけた ID を課金情報につかう運用の方が問題だと思うんだがなあ。ほんと、そんなことしてるん?SoftBank が。(あ、話がずれた(^^;)

ちなみに、↓iPhone の User-Agent はこれ。

Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A347 Safari/525.20

Safari が出す User-Agent に端末識別IDつけてくれる Safari の wrapper ソフトを作ればいい?(でも、App Store に置かせてはくれんよねえ。(笑))

080802_223329.JPGPSP で OpenPNE で構築したSNS(当社で運営)にアクセスすると、微妙に画面からはみ出て鬱陶しいので、PSPからのアクセスの場合は携帯用画面を出すよう修正した。

PSP の User-Agent は以下のとおり。

Mozilla/4.0 (PSP (PlayStation Portable); 2.00)

なので、OpenPNE の lib/PNE/KtaiUA.php に、

    / PSP (PlayStation Portable)
    // 2008/08/02 by SHINODA
    elseif (strpos($ua, 'PlayStation Portable') !== false) {
        $this-&gt;is_ktai = true;
    }

という記述を追加する。

これで PSP からのアクセスに対して携帯用画面が返るようになって操作性向上。
何せ、他人の日記やコミュニティの書込を確認するのが PSP で SNS にアクセスするほとんどの要件だと思うので、操作がシンプルなほうが PSP 的に良いと思うんだけど・・・

今気づいたが、PSP では端末識別IDを User-Agent に含めることが出来ないので簡単ログイン機能が使えず、毎回 ID/PW を手打ちしてログインせんといかんですな・・・面倒くさ(^^;

うーん・・・どうしよ。元に戻すかなあ。

このアーカイブについて

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

前のカテゴリはMySQLです。

次のカテゴリはPerlです。

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