web-dev-qa-db-de.com

Erfahrungen mit dem Hinzufügen von Nonces zum Kommentarformular

Ich habe mich gefragt, welche Auswirkungen Nonces auf die Standardkommentarform eines Themas haben würden. Weil Nonces eine integrierte Funktion von WordPress sind , habe ich mir überlegt, es einmal auszuprobieren.

Hat jemand bereits Nonces in der Standard-Kommentarform implementiert? (kann mir nicht vorstellen, dass ich der erste bin, der darüber nachdenkt ...!)

Kann jemand ein bereits vorhandenes Plugin vorschlagen, das die Aufgabe übernimmt, oder ein Code-Snippet bereitstellen, das das WP Nonce-Feld in das Kommentarformular für Themen integriert und es überprüft, wenn das Formular gesendet wird?

7
hakre

Ich habe das nicht persönlich gemacht, aber es wäre ziemlich einfach. Wenn Sie Ihr Kommentarformular manuell erstellen, schreiben Sie kurz vor dem Ende des </form>:

<?php wp_nonce_field( 'comment_nonce' ) ?>

Dann schließen Sie sich einfach der Aktion pre_comment_on_post an, die ausgelöst wird, wenn Sie einen Kommentar abgeben:

add_action( 'pre_comment_on_post', 'my_verify_comment_nonce' );

function my_verify_comment_nonce() {

    check_admin_referer( 'comment_nonce' );

}

Wenn Sie sich einfach in das Standard-Kommentarformular einbinden möchten, das Twenty Ten verwendet (comment_form()), können Sie sich stattdessen wie folgt in comment_form einbinden:

add_action( 'comment_form', 'my_add_comment_nonce_to_form' );

function my_add_comment_nonce_to_form() {

    wp_nonce_field( 'comment_nonce' );

}

Nicht getestet, lass es mich wissen, wenn du irgendwelche Probleme hast!

5
Joe Hoyle