pdo_mysql

晴れpdo_mysqlという便利なライブラリみたいなものがPHP5.1以上では使用できるらしい。 いろいろ調べていたが、どうも実行速度が遅いようなことが書いてあった。
プリペアドステートメントといういわゆるキャッシュみたいなものがあるらしいのだが、一度の接続につき有効なので、あまり使い道がないかもしれない。 それを使用するとMySQLのクエリーキャッシュが効かなくなるとのこと。

まぁインターネットで調べたことを踏まえて、自分で組んでみないと実際はわからないけどね。

eAccelerator

雨のちくもりPHP5.3.0がリリースされて、eAcceleratorが対応しなくなってから約2ヶ月。 ようやくPHP5.3.0で動作するeAcceleratorが公開された。
まだRC版だけど。 
過去のリリース履歴を見てみたら、0.9.5だけど、RC版がリリースされてから安定版になるまで2ヵ月半もかかっている。
早くPHP5.3.0の新機能を使ってみたいなぁ。

EC-CUBEその2

晴れ相変わらずEC-CUBE改造の日々。
EC-CUBEには自動アップデート機能がついているらしく、改造する際は/data/class_extends/内のフォルダをいじらないといけないらしい。
実体は/data/class/に入っているので、中のクラスやファンクションをコピーして……
注文の際は、一時テーブルに保存して、それをオーダーテーブルに挿入するみたいだ。

EC-CUBE

晴れ仕事でEC-CUBEの改造をすることになった。
まずはインストールでつまずいた。
コマンドラインから入ることの出来ないサーバーなのに、パーミッションを変更するファイルが1000ファイル以上……
しんどかった。

そしてなぜか1回目はインストールに失敗。 インストール後にエラー続出。

一度全部クリアして、もう一度インストール。 再びパーミッションの設定……
インストールで1箇所だけエラーがでたけど、今度は無事インストール完了。

これから改造するために、どのような仕組みになっているのかを調べていかなくては。

さくらサーバーの503エラー

晴れ先日、とあるWEBサイトで、「さくらサーバーで503エラーが頻発する」という記事を読んでいた。 さくらサーバーはユーザーごとに負荷を監視していて、一定以上の値になると、自動的にそのユーザーのCGIやPHPで503エラーになるよう、防衛機能がついているらしい。
自分とは無縁の記事だと思っていた……

しかし夕べ503エラーが出まくり!! 全然負荷のかかるようなことをしていないのに……
ちょうど一昨日からウェブアライザーのログを保存するようにしていたので、さっそくログを確認。 すると……2年ほど前、PHP勉強のために作った掲示板サンプルに大量のアクセスが。
どうやらこれにスパムが大量投稿されているためだったらしい。
テキストベースの掲示板で、すでにログの容量が23MB…… 投稿は1分に1度くらい行われている。
なるほどね、そりゃ23MBのファイルを開いたり書き込んだりするのには大量のメモリを消費するわけだ。 これでひっかかっていたのか。
全部でサンプルの掲示板が10個ほどあり、そのうち4つがスパム投稿にひっかかっていた。
とりあえず、ブログからその掲示板を見に行ったら「NOT FOUND」になってしまうが、リネームして404エラーになるようにした。

こんなところでスパムにやられるとは想定外だ。

OpenPNE脆弱性

晴れOpenPNEの脆弱性が見つかった。
該当するバージョンは1.8~最新版までなので、ほとんどが対象だ。

さっそく該当する箇所のソースを見て見た。 なるほど。

ユーザーエージェントを携帯にしてSNSのトップページを見ると、携帯用のログイン画面が表示される。
何も入力しないで「ログイン」ボタンを押すとエラーになる。
で、URLの引数にID=○(○はc_member_idを指定)を追加。 で、URLをo_login2.phpに変更する。 そのページを表示すると……同じログイン画面。 しかしメールアドレス入力欄が消えている。
ソースを見ると、hiddenタグでメールアドレスが記述されている。 c_member_idのところを、好きなメンバーIDにすると、その人のメールアドレスがわかってしまう。
ちなみにメールアドレスが流出するだけで、パスワードはわからないのでログインできない。

こんな脆弱性があったとは。 SNS運営している人は早急に対策をしないとね。