web-dev-qa-db-ja.com

Save_postフックに関するセキュリティ

save_postフックを使った多くの があります。それには一回だけの追加と確認、そしてユーザーが適切なパーミッションを持っていることを続けることが含まれます。

これは必要ですか?

投稿を更新/公開するとき、WPは通常のnonceを検証し、権限自体をチェックして、403または '本当にこれを実行しますか?'ページにチェックアウトしない場合。そのため、悪い要求があった場合でもフックは呼び出されません。それで、なぜ私はこれらのことを自分自身で二重チェックしなければならないのでしょうか。

2
user37315

save_postフックは、誰かが関数wp_insert_post()を呼び出すたびに呼び出されます。残念ながらいくつかのテーマでもそうですが、プラグインがそれを行います。

  • 誰かが電子メールごとの投稿またはXML RPCを使う
  • 自動ドラフトが作成されます
  • ダッシュボードのクイックドラフト機能が使用されている
  • ナビゲーションメニュー項目が追加されました
  • リビジョンが作成されました

あなたは本当にあなた自身の確認なしにこれらすべての行動を処理したくないでしょう。

それに加えて、ノンスは、他の人のネットワークトラフィックを聞いている人がアクションを繰り返すことができないことを保証する必要があります理論上 、ナンスはそれを防ぎます。デフォルトのWordPressのナンスは、その点では安全ではありません。それらは再利用できるからです。しかし、あなたのユーザーは本当のナンスを生成するプラグインをインストールしたかもしれません。あなたは本当に彼らの余分なセキュリティ対策を回避したいですか?おそらくそうではありません。

2
fuxia