1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

wp_nonce_field ist nicht brauchbar, oder sehe ich das falsch

Dieses Thema im Forum "Allgemeines" wurde erstellt von strub, 10. Januar 2017.

  1. strub

    strub Well-Known Member

    Registriert seit:
    4. Januar 2017
    Beiträge:
    158
    Zustimmungen:
    3
    Hallo mal wieder so eine WP super Funktion, die nicht brauchbar ist.

    Und zwar habe ich mehrere Formulare und möchte eben die WP Funktion "wp_nonce_field" benützen. Doch diese ist einfach nicht gut. Denn Sie nimmt denn Namen und gibt dem Feld auch eine "id" aus dessen Namen, was natürlich nun zu einem invaliden HTML führt.

    Hier die Funktion: Keine Chance die id wegzulassen.
    https://developer.wordpress.org/reference/functions/wp_nonce_field/

    verkürztes Beispiel aus meinem View file:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    übersehe ich denn da was? oder seht ihr das gleiche Problem an dieser Funktion? Besten Dank im voraus.
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Welches "invalide HTML" genau wird denn erzeugt bzw. von welchem HTML-Validator als solches bezeichnet? Ein Link zum Formular wäre hilfreich.
     
  3. strub

    strub Well-Known Member

    Registriert seit:
    4. Januar 2017
    Beiträge:
    158
    Zustimmungen:
    3
    Eine id darf ja nur einmal vorkommen. Deshalb kommt es zu einem Fehler: Dublicate ID "name_of_id".

    Denn es wird ja mehrmals ausgegeben:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Aber egal, muss ich eben die wp_create_nonce() Funktion nehmen.

    Ich will ja nicht nur rummekern, aber ich sehe lauter solche Sachen, die einfach nur unnötig Zeit kosten.

    Z. b. auch laut Doku hier:
    https://codex.wordpress.org/Function_Reference/wp_nonce_field

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und nur der Anfang der Funktion:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Was wäre denn wenn der
    $_POST['name_of_nonce_field']

    ein Array ist. Führt natürlich zu einem Error oder Warnung. Aber egal.
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Warum wird das mehrfach ausgegeben?

    Jedes Formular bekommt normalerweise seine eigene Nonce. Beispiele im Codex, dort wird jeweils die entspr. ID angehängt.

    Ein Error oder eine Warnung von PHP wird im laufenden Live-Betrieb bei entspr. Konfiguration von WP_DEBUG nicht ausgegeben.
     
    #4 b3317133, 10. Januar 2017
    Zuletzt bearbeitet: 10. Januar 2017
  5. strub

    strub Well-Known Member

    Registriert seit:
    4. Januar 2017
    Beiträge:
    158
    Zustimmungen:
    3
    Hey danke nochmals.

    Ich möchte eben die gleiche nonce für jedes Formular. Bei meinem Vorhaben macht es einfach keinen Sinn für jedes Formular eine Nonce zu generieren und es würde auch meinen Controller dann unnötig verkomplizieren.

    Anderes Beispiel: Nehmen wir mal als Beispiel eine Liste von Shop Produkten, würde ja keinen Sinn machen für jedes Formular (um in den Warenkorb zu fügen) ein anderes Token zu generieren und die Session unnötig zubeanspruchen. Oder?
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    Das Nonce-System von WordPress dient hauptsächlich zur Abwehr von CSRF-Angriffen. Wenn man das System (wie oder warum auch immer) absichtlich aushebelt, sollte man genau wissen was man tut. Viel Erfolg mit dem Projekt.
     
  7. strub

    strub Well-Known Member

    Registriert seit:
    4. Januar 2017
    Beiträge:
    158
    Zustimmungen:
    3
    Ja wie gesagt, wollte ja nicht rummekern. Aber gut ist. Weiss schon was ich mache. :)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden