経験知ロゴ

WordPressで「本当に実行していいですか?」というエラーが出た時の対処法。プラグイン開発版

WordPress実行していいですか?

フォーム送信のある自作プラグインを使っていると、ある日突然「本当に実行していいですか?」というエラーが出るようになりました。

不思議なのが、他の同仕様のフォームはちゃんと動いているのに、一つのフォームだけ動作しなくなってしまったのです。

CSRF対策のwp_create_nonce()がうまく動作していないのが原因だろうなとすぐわかったのですが、記述もしっかりできているし、何がいけないのかわからない。

色々試してみた結果動作するようになったのでその方法をメモします。

フイールドのname属性を変更

nonceの名前の不一致が原因として考えられましたが、ちゃんと合っていました。

「product-search」というnonce名で設定したところを名前を変えて「product」と変更したところ通常通りに動作しました。

もちろんwp_create_nonce()だけでなく、check_admin_referer()の名前も変更。

何が詳細な原因かわかりませんが、とりあえず動作するようになりました。

正社員でフリーランスな仕事を実現

フリーのエンジニアになって仕事を自由に選びたい!正社員並みの保証が欲しい!

という相反する要望をかなえてくれるのが【midworks】です。

雇われるだけの生活から脱出してみませんか?



おわりに

今まで動いていたものが急に動かなくなると焦ります。

原因であろう箇所は特定できても、ある場合だけ動かないというのはとても解決しづらいです。

とりあえず解決できてよかった。

▼役に立ったらシェアをお願いします