WordPressのカスタマイズもPHPを使う他のプログラムと同様にセキュリティ面に注意する必要がある。WordPressのサニタイズについてまとめる。
一般的なPHPに関するセキュリティ対策はセキュリティ : PHPを参照。
< > & ” ‘をHTMLエンティティ[1]へエンコードする。
esc_htmlもesc_attrもマークアップ言語として使われるメタ文字(< > & ” ‘)をHTMLエンティティへ変換してデータをサニタイズする。esc_attrは属性に使う。
URLは悪意のあるデータを挿入することができる。例えばURLにはjavascriptプロトコル(javascript:)を使ってJavaScriptを記述できる。
そのためにURLはサニタイズをする必要がある。
esc_url()[3]
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.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。