前提・実現したいこと
wordpressで問合せフォームを作成しています。
csrf対策としてwp_verify_nonce関数を用いた問合せフォームを作成しました。
入力画面➡︎完了画面という設計なのですが、リロードする度に重複投稿されてしまい困っています。
また条件として重複投稿対策でよく使われるtopページなんかへのリダイレクト処理は禁止とします。
どのようにすれば上記の問題解決ができますでしょうか?
下記のコードであれば echo "重複投稿禁止です。"; を表示させたいです。
発生している問題・エラーメッセージ
リロード時の重複投稿
該当のソースコード
send.php
function send_form(){ if(!isset($_POST['token']) || !wp_verify_nounce($_POST['token'],'token_csrf')){ echo "重複投稿禁止です。"; } if($_POST['action'] == "send_form") { send_form(); }
form.php
<form action="" method="post"> <input type="hidden" name="action" value="send_form"> <?php wp_nonce_field('token','token_csrf');?> </form>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー