前提・実現したいこと
wordpressで
自作問い合わせフォームを作成しております。
問い合わせフォームの確認画面(form1.php)から、「送信」を押した際(form2.phpへpost)、
セキュリティ強化のためにwp_nonce_field()を使い、wp_verify_nonce()でチェックできるようにしました。問題なくデータを渡して処理はできたのですが、
トークンがinput=”hidden”で出力されているのが気になり始め、
フォーラムを参照し、
wp_nonce_field( ‘my_action’ ,’my_nonce’, true, false);
wp_referer_field();
と設定しましたところ、うまく処理が進まなくなってしまいました。
(正規のルートなのに、ちゃんとしたアクセスだと認識してくれない。)
nonceを非表示にして次ページに渡すにはどうしたらよろしいでしょうか?
(また<input type=”hidden”>で渡してもセキュリティ的に問題ないでしょうか? タグに出力されているのが気になっております。)
form1.php
<form method="post" action="form2.php"> <?php wp_nonce_field( 'my_action' ,'my_nonce', true, false); wp_referer_field(); ?> <input type="submit" valuer="送信する"> </form>form2.php
<?php if ( ! isset($_POST['my_nonce']) || ! wp_verify_nonce( $_POST['my_nonce'], 'my_action' ) ){ echo '正しい処理がされませんでした'; }else{ echo '正しく処理されました'; } ?>回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/18 10:08