WordPress サニタイズ : WordPress


WordPressのカスタマイズもPHPを使う他のプログラムと同様にセキュリティ面に注意する必要がある。WordPressのサニタイズについてまとめる。

一般的なPHPに関するセキュリティ対策はセキュリティ : PHPを参照。

HTMLサニタイズ

& ” ‘をHTMLエンティティ[1]へエンコードする。

esc_htmlもesc_attrもマークアップ言語として使われるメタ文字( & ” ‘)をHTMLエンティティへ変換してデータをサニタイズする。esc_attrは属性に使う。

URLサニタイズ

URLは悪意のあるデータを挿入することができる。例えばURLにはjavascriptプロトコル(javascript:)を使ってJavaScriptを記述できる。
そのためにURLはサニタイズをする必要がある。

esc_url()[3]

SQLサニタイズ

WordPressでデータベースを操作するクラスwpdb Classのインスタンスである$wpdbは様々なSQL用のメソッドを持つ。$wpdb->insertや$wpdb->updatメソッドはメソッドがSQLサニタイズを行う。またSQLサニタイズ用に$wpdb->prepareメソッドが用意されている。

参考資料

» データ検証 – WordPress Codex 日本語版

[1] HTMLエンティティは文字参照のこと。
[2] attribute_escape、wp_specialchars()は非推奨。esc_attrを使う。
[3] clean_url()は3.0から非推奨。esc_url()を使う。

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。