web-dev-qa-db-ja.com

コメントフォームにNoncesを追加した経験

私は、テーマが持つデフォルトのコメントフォームにnonceが与える影響について疑問に思いました。 NonceはWordPressに組み込まれた機能なので 試してみることを考えました。

誰かがすでに標準コメント形式でナンスを実装していますか?(私がそれについて最初に考えたのは想像できません) ……)

誰かがその仕事をする既存のプラグインを提案したり、WP Nonce Fieldをテーマのコメントフォームに統合し、フォームが送信されたときにそれをチェックするコードスニペットを提供することはできますか?

7
hakre

私は個人的にこれをしていませんが、それはかなり簡単でしょう。コメントフォームを手動で作成する場合は、</form>の最後の直前に入力します。

<?php wp_nonce_field( 'comment_nonce' ) ?>

それから、コメントを送信すると起動するpre_comment_on_postアクションにフックするだけです。

add_action( 'pre_comment_on_post', 'my_verify_comment_nonce' );

function my_verify_comment_nonce() {

    check_admin_referer( 'comment_nonce' );

}

Twenty Tenが使用する標準のコメントフォーム(comment_form())にフックしたいだけなら、代わりにcomment_formにフックすることができます。

add_action( 'comment_form', 'my_add_comment_nonce_to_form' );

function my_add_comment_nonce_to_form() {

    wp_nonce_field( 'comment_nonce' );

}

テストされていませんので、問題があるかどうかをお知らせください。

5
Joe Hoyle