WordPressをカスタマイズしようとして、function.phpを更新するとき、
エラーになると、とても焦りますよね。
今回は表示されたnonce_failureについてまとめます。
nonceとは
nonce(ノンス)は、ある種の誤使用や悪意のある操作から URL やフォームを守るための「一度だけ使われる数値」です。
本当に一度だけ使われるのではなく、無効になるまでの「有効期間」を持っています。その期間では、同じユーザーの同じコンテキストに対して、同じ nonce が生成されます。つまり、ある操作に対する nonce は、nonce の有効期間が切れるまで同じユーザーについて同じ値を保ちます。
つまり、nonceはサイトの保護を目的としたもので、
nonce_failureは保護に対して何らかの脅威があったときに表示されるということになります。
どうしてnonce_failureが表示された?
今回、私が操作した状況から、nonce_failureが表示された理由をご説明します。
エラーが表示されるまでの操作
- ①前日に表示不具合があり、function.phpを確認。
- ②function.phpを開いたまま放置。
- ③不具合の一時対応として、不具合部分を非表示にするため、function.phpを編集・更新。
- ④nonce_failure発生。
この流れと、nonceの仕組みを考えると、
nonceの有効期限が切れて無効になり、
WordPress はブラウザーへ “403 Forbidden” を返し、
エラーメッセージ「本当に実行していいですか?」という意味のnonce_failureを表示した。
WordPress はブラウザーへ “403 Forbidden” を返し、
エラーメッセージ「本当に実行していいですか?」という意味のnonce_failureを表示した。
ことになります。
まとめ
今回のnonce_failureは、サイトを保護しようとした結果表示されたことがわかりました。
重要なfunction.phpを開いたまま放置した危険な行為が原因ですね💦
使わなくなったら閉じる、当たり前のことができていないと、精神的打撃を受けることもわかりました。
にゃこ
みなさんは、こんなことがないよう、大事なものはしまう!を徹底しましょう!