web-dev-qa-db-ja.com

wp_verify_nonceを使用すると便利な場合

_$_POST_が安全な場所から来ていることを確認するためにwp_verify_nonce()が使用されていることを知っています。

カスタムリストを作成するWordPressプラグインを開発しています。そのためには、Webサイトの所有者が_wp-admin_サーバーのプラグイン設定ログインにアクセスする必要があります。

Wp-adminログイン後にのみフォームにアクセスできる場合、wp_create_nonce()wp_verify_nonce()を使用する必要がありますか?

2
Alberto Crespo

はい、認証済みユーザーがGET/POSTリクエストを介してアクションをトリガーしている場合は、常にナンスを使用する必要があります。 nonceの主な目的の1つは、現在のユーザーが実際にこの要求をトリガーすることを意図していることを確認することです。これは、攻撃者が認証されたユーザーをだまして、意図しないアクションを実行させる、クロスサイトリクエストフォージェリ(CSRF)と呼ばれるセキュリティの脆弱性を防ぎます。攻撃者はナンスを推測できないため、有効なナンスをチェックすることでこれを防ぐことができるため、フォーム送信リクエストを偽造して管理者をだまして送信させることはできません。

この攻撃を実行するために、プラグインがフォームを提示するため、攻撃者がフォーム自体にアクセスする必要はないことに注意してください。彼らは独自の模倣フォームを作成したり、別の方法でリクエストをトリガーしたりできます。

2
J.D.