Wo sind WordPress-Nonces gespeichert?

8

Ich habe versucht herauszufinden, wo WordPress alle Nonces speichert. Aber war nicht in der Lage, einen Hinweis zu finden. Ich habe zuerst die Datenbank überprüft, konnte aber keine Tabelle mit dem Namen wp_nonces finden.

    
Mohit Gangrade 31.07.2015, 10:54
quelle

3 Antworten

7

Ich habe diese Frage vor 11 Monaten gepostet.

Alle Antworten, die ich erhielt, waren großartig und halfen mir sehr.

Aber keiner von ihnen adressiert den Speicherort von Wordpress-Nonces. Das war meine wahre Frage.

Also habe ich den Quelltext von WordPress ausgegraben und konnte den korrekten Speicherort von WordPress-Nonces finden.

Sie werden in Benutzersitzungen gespeichert.

Sie sind eindeutige Tokens, die in der Benutzersitzung gespeichert werden. Nonces haben eine definierte Lebensdauer.

Wenn sich der Benutzer von WordPress abmeldet, sind die Nonces nicht mehr gültig.

PS: Ich habe diese Frage gestellt und schreibe jetzt diese Antwort, um anderen zu helfen:)

    
Mohit Gangrade 30.06.2016, 08:20
quelle
2

Nonces werden nicht direkt gespeichert, sie werden mit der Funktion wp_create_nonce und validiert mit dem wp_verify_nonce .

Diese Funktionen wiederum verwenden wp_hash , um eine Lebensdauer, eine benutzerdefinierte Zeichenfolge, die user_id und das in wp_usermeta gespeicherte Sitzungstoken mit dem Schlüssel session_tokens zusammen zu hashen.

    
Felipe 31.07.2015 17:58
quelle
0

Nonces sind einmalige Tokens, die von WordPress generiert werden, um verschiedene Anfragen zu validieren, wie zum Beispiel einen Kommentar hinzufügen, einen Beitrag löschen, einen Benutzer löschen usw.

Sie werden nirgends gespeichert und müssen auch nicht gespeichert werden.

Nehmen Sie das folgende Beispiel; Beim Verwalten von Inhalt in WordPress sieht der Link Bin etwa so aus:

http://www.example.com/wp-admin/post.php?post=1337&action=trash&_wpnonce=369f188682

Wenn Sie jedoch versuchen würden, die ID der Seite / des Posts in der URL zu etwas anderem zu ändern ( siehe unten ), wäre die Nonce nicht mehr gültig, geben Sie einen 403 Fehler zurück, und anzeigen: "Sind Sie sicher, dass Sie das tun möchten?"

http://www.example.com/wp-admin/post.php?post=9100&action=trash&_wpnonce=369f188682

Ein verstecktes _nonce -Feld hinzufügen (nehmen Sie als Hauptbeispiel Kontaktformular 7 ) ist in der Regel eine gute Übung, wenn Sie Formulare in WordPress implementieren, weil es Cross-Site Request Forgery (CSRF) usw. verhindert.

Ressourcen:

bluemwhitew 31.07.2015 11:45
quelle

Tags und Links