これまでに作成したプラグインは、データ登録画面で、入力フォームを表示し、次の画面で内容チェック、その後に完了画面を表示する。という一連の動作になっています。
この時、入力フォームから確認画面へ遷移する際のセキュリティとして、CSRF攻撃がされる場面が想定されます。
このCSRF攻撃に対応する為に、対策を入れます。
具体的には、入力画面のform開始タグの直下に、以下の命令を書きます。
<?php wp_nonce_field("my-nonce-key", "my-form"); ?>
また、確認画面側では、次のように書いて、CSRFのチェックを行います。
//CSRF対策用のチェック if (isset($_POST["my-form"]) && $_POST["my-form"]) { if (check_admin_referer("my-nonce-key", "my-form")) { //問題がなければ、ここで処理を続行 } }
ポイントとなる箇所だけを書きましたが、フォーム内に「wp_nonce_field」を、確認画面のチェック処理で「check_admin_referer」を、それぞれ使うということで、覚えておいてよいかと思います。