*

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(7)セキュリティ対策

公開日: : 最終更新日:2013/06/26 WordPress ,

ここでセキュリティ対策についてまとめて復習してみます。ネットを検索すると、さまざまな対策が紹介されています。すべてを網羅できないので、最低限だと思われる範囲でまとめてみます。

ワードプレス標準の「wp_nonce_field」

「wp_nonce_field」と「check_admin_referer」のセットはワードプレスで用意されているCSRF対策のひとつです。導入も簡単なので忘れず書いておきたい関数です。「wp_nonce_field」が form 側にセットされる関数。

関数リファレンス/wp nonce field

<form method="post" action="">
   <?php wp_nonce_field( 'name_action','my_function' ); ?>

「check_admin_referer」関数がデータを受け取る側でチェックされる関数です。

if ( !empty($_POST) && check_admin_referer( 'name_action', 'my_function' ) ) {

ネット上ではパラメータが一つのものや2つのものなど様々ですが、公式ページには次のように書かれているので2つのほうが安心できそうです。

$actionと$nameはオプションですが、セキュリティを高めたい場合はこの二つのパラメータを設定することをお勧めいたします。パラメータなしで関数を呼び出すのが簡単ですが、nonceがなんのパラメータも必要としなくなってしまうので、デフォルト値が何かをしっているクラッカーにとってあなたのnonceを推測して被害を与えるのが簡単になってしまいます。

SQLインジェクション

これはPHPで一般的な対策です。ご存知無い方は、なぜ危険なのか検索してみてください。ワードプレスの場合はprepareメソッドがこれの対策用に用意されています。

$username = $_POST['username'];
$results = $wpdb->get_results($wpdb->prepare(“SELECT * FROM user
      WHERE uid=%s AND pwd=%s”, $username, $password ));

option テーブルを使う時に利用していた関数「update_option」はどうなのか気になる所ではありますが、情報が見つからなかったので今のところ対策無しで^^;

実行権限をチェックする

プラグインの実行・操作は管理者のみ可能となっているようにプログラムしなければなりません。底で使えるのが「is_admin()」です。特にデータを保存したり受け取る場合にはチェックすることが大切みたいです。

if ( is_admin() ) {
  $username = $_POST['username'];
  $password = $_POST['password'];
  $results = $wpdb->get_results($wpdb->prepare(“SELECT * FROM user
       WHERE uid=%s AND pwd=%s”, $username, $password ));

こんな感じで権限をチェックするように書いておくと安心です。

その他のセキュリティ対策

ディレクトリトラバーサル・HTTPヘッダーインジェクション等のキーワードが見つかります。今回は該当する部分が無さそうなのでスルーしておきます。

そして次の記事を読んで、ほとんどソースを書きなおすことになりましたw

WordPressプラグインのコーディングでありがちな10の間違いと設計時に考慮すべきこと
http://tokkono.cute.coocan.jp/blog/slow/index.php/wordpress/most-common-mistakes-in-wordpress-plugins-coding/


Sponsored Link


 
 

関連記事

WordPress用プラグインで使う宿泊予約用カレンダーをPHPで書くぜ

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作るシリーズで使う、空き部

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(11)空室管理画面 B

空室管理画面の2回目。今回は空室状況の入力欄と月が変わった時の処理を加えてみます。今回は一覧表示なの

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(3)

前回のソースがイマイチだったので若干書き直しました。しかし、これで正しいのかも疑問なんですが、取り敢

記事を読む

WordPressのオリジナルプラグインにショートコード機能を持たせる

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る連載で、ショートコード

記事を読む

ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(6)初期設定画面

ここまでで、ひと通りの仕組みというか流れは理解できたような気がします。まずは初期設定画面から制作して

記事を読む

ご質問は掲示板へお願いいたします。

Message

メールアドレスが公開されることはありません。

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

DJI Osmo Mobile 2 を少し使ってみた感想など

BlackMagicDesign URSA mini 4.

DJI Osmo Mobile 2 の少しディープなレビュー

DJI Osmo Mobile 2 を選んだのは「アクティブトラック」

スマホ用ジンバル比較=DJI OSMO mobile2 vs ZHIYUN Smooth 4 vs MOZA mini-mi

さて! 聞いて気になる見て欲しくなる。うれし恥ずかしスマホ用ジンバルの

【実験】Neewer 37mmクリップオンND 2-400 NDフィルタークリップ付きの性能を確認

前回の記事「FiLMiC pro 〜 iPhoneで動画撮影本気モード

FiLMiC pro 〜 iPhoneで動画撮影本気モード

俄然! iPhoneの有効活用が気になり始めました。 前回プレビ

→もっと見る




  •  

PAGE TOP ↑