6.プラグインの審査、セキュリティ関連

6.プラグインの審査、セキュリティ関連

wordpress.orgのプラグインにアップする前に、wordpress.orgに申請する必要がある。
その際に、最低限のセキュリティ、注意点を施さないと、申請、審査が通らない。

申請時にメール返答で指摘されてるような点は以下。

サニタイズ(エスケープ)
form使用時のセキュリティ対策
SQLインジェクション対策
オリジナル関数名を使用する

■サニタイズ(エスケープ)

html特殊文字をサニタイジング(エスケープ)対処する。
最低限「htmlspecialchars関数」は使わないと、審査時に返信メールで指摘がくる模様。

■form使用時のセキュリティ対策

form使用時に入力された値をサニタイジングすることはもちろんですが、
wordpressの関数で「wp_nonce_field」というものがある。

form送信時に認証をする仕組みのようで、formがあるページの送信データしか受付ないようにするようだ。
これにより、外部からの改ざんデータ送信を防ぐことができる。

使い方はまずform内に以下を入れる

<?php wp_nonce_field('任意の文字列');?>

そして

formからの送信データをどこかに保存や出力などする処理の直前に以下を設置する。

check_admin_referer('任意の文字列');

■SQLインジェクション対策

以下はwp_postのテーブルからIDが10のデータを抽出するサンプル。

$sql = $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = %d", '10');
$sql = $wpdb->get_results($sql);

$wpdb->get_results でSQLを指定すれば、抽出できるが、
prepare関数を使用した上で、プリペアドステートメント化する。
SQL系であれば、最低限これをしないと審査時に返信メールで指摘がくる模様。

■オリジナル関数名を使用する

オリジナルのfunctionや関数名は、他のプラグインとかぶらなそうなネーミングにする。
wordpressのプラグインはすでに数多くあるため、安直なネーミングだとプログラムが競合する。

安直なネーミングの場合だと、これもやはり申請時の返答メールで指摘がきます。

自分の場合は、作成ニックネームである「yukimaru」の略称として、
「ykmr」などを前につけつつ、同様にプラグインの名前の略称と組み合わせたりしてます。

申請、審査時には上記をチェック。

■wordpressプラグインの作成めも

作成したプラグインはこちら>>

6.プラグインの審査、セキュリティ関連 291 vi  記事:yukimaru

WPプラグインメモの最新記事