
現在なぜPHPアプリにセキュリティホールが多いのか?:第5回 まだまだ残っているSQLインジェクション|gihyo.jp … 技術評論社を読んでいるのですが、正規表現の間違いによるSQLインジェクションのいい例がありましたので紹介を。
私はわからなかったのですが、ユーザからのパラメータに対する数値チェックで以下の二つのPHPコードにおける脆弱性についてでした。
phpMyAdminは文字のエンコード周りの設定さえうまくいけばデータの簡易チェックとしてとても便利なツールです(最近はクエリのチェックにはシンプルなCSE+ODBCを利用しています)。ただ、以前はconfigファイルの設定をちょっといじればタイムアウト時間を変更することが出来たのですが、最近(私の環境は2.11.2.1です)はちょっと調べないとタイムアウト時間を延ばすことが出来ません。
CakePHP1.2のデータベースの設定値には
4種類のプロパティが追加されました。
persistentは持続的接続のON/OFF、portは接続の際のポート番号が、schemaが何に使われるプロパティか分からなかったのでちょっと調べてみました。
TechTargetジャパン:mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法
サービス開始から2ヶ月でユーザ数1万人を達成し、この3年で1110万人にも達したmixiのサーバー構成はLAMPで、安価なPCを1000台連ねる分散構成だそうです。
最近CakePHP1.2系列を使ってるんですが、なかなか使える代物になってきました。
以前1.2系列が出現したときはBakeにバグがあり、途中で止まってしまったため「まだたまだ1.2系はだめだな」と思っていたのですが、今になってまぁ使えるレベルになってきたと言えます。
DBの文字化けについてですが、Webプログラマーではプロジェクトの開始と同時に毎回悩まされることかと思います(僕は必ず毎回悩んでいます・・・)。
とまぁ標準的な構成なんですが、CakePHPで登録したデータがphpMyAdminで文字化けする現象に出くわしてしまったので解決法を簡単に書いておきます。
ちょっと訳あってMySQLのチューニングなんてのをしています(そこらへんはほんと苦手です・・・)。
http://www.res-system.com/item/550
http://slashdot.jp/journal.pl?op=display&uid=4&id=26710
http://allabout.co.jp/internet/database/closeup/CU20040722A/
ここらへんのサイトを読んで基本的(ごくごく基本的な初期設定レベルですが)なとこは分かりました。
まず、僕のサーバーの設定は
で見ることができます(当然・・)。それを見た感じ、
となっていたんでmy.cnfに
と追加しておきました。
ちなみにMySQLの再起動は
もしくは
でできます。
サーバー管理者さんにとっては簡単なことでも、僕にとっては30分以上かかる大仕事でした・・・。
もっと勉強しますorz..