Open Source Web Development Tutorials - Dev Shed
SQLインジェクション対策:テーブル名プレフィックス変更ツール
(2008/12/08公開)
PHPにおけるMySQLテーブル名プレフィックス変更ツール
Web開発者の皆さんなら、作成したサイトが常に何らかの脅威にさらされていることをご存じであろう。SQLインジェクションはその1つであり、あらゆる手段で対策を講じたい。
SQLインジェクションでは、悪意のあるユーザーが、Webサイト上のフォームフィールドから、あなたのデータベースに対してクエリーを実行することができる。時には、POSTデータとしてアドレスバーに直接加えることさえできる。
phpBBなど一般公開されたソフトウエアをサイト上で使用している場合は特にリスクがある。大半のユーザーはデフォルトの設定を変更しないため、ソフトウエアの脆弱(ぜいじゃく)性が明らかになると、悪意のあるユーザーがそのソフトを使用したサイトを攻撃しやすくなるのだ。
phpBBを例として挙げたのは、セキュリティー脆弱性がよく知られているからだ。phpBBを使用したサイトはSQLインジェクション攻撃の標的になることが多い。phpBBのインストレーションの安全性を高める方法は幾つもあるが、中でも効果的なのは、テーブル名のプレフィックスのデフォルト設定を変更することだ。
これで、悪意のあるユーザーがあなたのデータベースを攻撃するのはずっと難しくなる。この措置自体でSQLインジェクションを防いだり、サイトの安全性を高めたりすることはできないが、攻撃の効果性は確かに低下する。
筆者が今回のツールを設計した主眼はそこにあるが、使い道はほかにもある。例えば、サイトを別のホストへ移行させた場合、結果としてテーブル名のプレフィックスを変更する必要がでてくる。または、古いバックアップからデータを復元して、設定の異なる新しいインストレーションに使用するケースも考えられる。
いずれにせよ、プレフィックスを手入力で変更するのはうんざりする作業だ。phpMyAdminなどのツールを使用しても、この処理を手っ取り早く整然と行うことはできない。ところがPHPの助けを借りれば、独自のツールを簡単に作成できるのだ。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








