« エンコードされた javascript コードを得る | メイン | 3回に1回 »

SQLite と magic_quotes_gpc

あとで読む

php4 の場合、magic_quotes_gpc ( GET/POST/Cookie のシングルクォート等を自動的にエスケープするモード) が デフォルトで On になっており、これは ' を \' とエスケープするが、SQLite では ' を '' (シングルクォート2つ)でエスケープするので、注意が必要である。

いずれにせよGPCなデータが暗黙的にエスケープされることを前提とするのは誤動作/セキュリティホールを生みかねないので、この magic_quotes_gpc = Off にしてアプリケーション側で使用するデータベース等に合わせて明示的にエスケープ処理を行うべきだと思う。PHP 5.2 くらいからデフォルトで Off になったんだっけ(うろおぼえ)

sqlite_* 系を使う場合は、magic_quotes_gpc = Off にした上で、PHP: sqlite_escape_string - Manual を使うとよさげ。ただ、その前に PHP: mb_check_encoding - Manual 等でデータチェックはかけておこう。

Trackbacks

Trackback URL:
http://groundwalker.com/mt/gwtb.cgi/69

» sqlite_escape_string のバグにはまる from groundwalker.com
php4 で SQLite2 を使う(参考: PHP4 で SQLite2 を... [More...]

» PHP: php.ini 忘れずにチェック from groundwalker.com
違う環境で動かすときはPHPの設定をチェック。 display_errors ... [More...]

« エンコードされた javascript コードを得る | メイン | 3回に1回 »

スポンサー

関連ブログ

あわせて読みたい

関連キーワード

Powered by
Movable Type 3.34

連絡先