OLIVESYSTEM(オリーブシステム)

診断ジェネレータ作成プラグインの新機能「nonceのキャッシュ対策」について

診断ジェネレータ作成プラグインの新バージョンv1.4.00(2/13現在はv1.4.02)を公開しました。
v1.4.00には「nonceのキャッシュ対策」という機能を追加しております。

この機能を有効にするには、最新版をこちらから入手するか、すでに当プラグインをインストール済の方はバージョンアップ(v1.4.00以降)してください。

ウェブページがサーバーやプラグイン等によってキャッシュされている場合、フォーム情報もキャッシュされ、古い状態のままのnonceが残ってしまうことがあります。

nonce及びその検証方法は以下のページをご参考にしてください。
WordPress Nonce
関数リファレンス/wp verify nonce

nonceが古い状態のまま診断を実行すると、フォームが「POST認証に失敗しました。」というエラーを返します。
これはnonce検証が失敗した時のみに発生するエラーメッセージです。

機能を有効にする方法

管理画面で、診断フォームの編集ページを開きます。

「診断の基本設定」の文字の下にある「詳細設定を有効」をクリックします。

すると詳細設定が可能になります。
詳細設定の「フッター」項目の下に「nonceのキャッシュ対策」機能の設定項目があります。

「有効にする」を選択します。

あとは「更新」ボタンを押してフォームの設定内容を反映させます。

それでも解決しない時は設定が適用されていない可能性あり

上記設定を有効にして更新したにも関わらず、相変わらず「POST認証に失敗しました。」のエラーメッセージが出る場合は、キャッシュによる設定妨げをご確認ください。

なんらかのキャッシュが働いている場合、フォーム情報が古いままウェブページに残ってしまいますので、対策前のフォームのままの可能性があります。

その場合は、フォームを公開しているページを開き、各ブラウザでソースを確認してください。
ソース内に

<script>
// nonceキャッシュ対策

という記述があれば設定は反映済みです。

記述がない場合、キャッシュが原因で反映されておりませんので、一度ページのキャッシュを削除するかオフにしてください。