Kuidas kasutada WordPress Nonce’i
Mis on WordPress Nonce?
Nagu WordPressi koodeksis mainitud, on WordPressi nonce "kord kasutatav number", mis aitab kaitsta URL-e ja vorme teatud tüüpi väärkasutuse, pahatahtliku või muul viisil.
Nonce pole midagi muud kui turvakood, mida tuleks arenduse käigus kasutada CSRF-i (saididevaheliste taotluste võltsimise) rünnakute vältimiseks.
Teema või pistikprogrammi väljatöötamise ajal tuleks nonce’i kasutada vormis või URL-is. WordPressi arendajana on nonce’i kasutamine hea tava.
Kuidas vormis Nonce kasutada
Nagu mainitud, on nonce märgiks CSRF-i rünnakute ärahoidmiseks. Vormidega tegeledes peaksime selle vormi lisama ka vormidesse. Nonce’i lisamiseks vormis kasutame peidetud välja.
<input type="hidden" name="FIELD_NAME" value="<?php echo wp_create_nonce('NONCE_NAME'); ?>"
Asendage ülaltoodud koodis FIELD_NAME & NONCE_NAME kõigega, mida soovite.
Kontrollige, kas Nonce kehtib?
Kui olete vormis nonce lisanud, peate pärast vormi esitamist kontrollima, kas nonce’i edastamine on kehtiv või mitte. WordPress pakub funktsiooni wp_verify_nonce, et kontrollida nonce kehtivust.
if (wp_verify_nonce( $_REQUEST['FIELD_NAME'], 'NONCE_NAME')) {
//safe to proceed
} else {
die('Security Check!');
}
Kuidas kasutada URL-is Nonce’i
CSRF-i rünnakud võivad veebisaidil toimuda ka URL-ide kaudu. Lisaks mängib tundlikel lehtedel nonce olulist rolli. Oletame, et meil on veebisaidil seadete leht, mis sisaldab tundlikke andmeid, mida tuleks kaitsta. Tahame takistada ka CSRF-i rünnakuid. Nii et loon lehe seadistamiseks järgmise URL-i abil URL-i.
<a href="<?php echo wp_nonce_url(get_bloginfo('url').'/settings', 'page-settings', 'setting-nonce'); ?>"></a>
Kontrollige, kas Nonce kehtib?
Nüüd peame kontrollima, kas nonce’i läbimine on kehtiv või mitte. Saame seda teha järgmisel viisil. Siin kasutame ka funktsiooni wp_verify_nonce() nonce kehtivuse kontrollimiseks. Lisan koodi all seadete lehe ülaossa.
if (isset($_GET['setting-nonce']) && wp_verify_nonce($_GET['setting-nonce'], 'page-settings')) {
//safe tp proceed
}
Loodan, et saate aru, kuidas WordPress Nonce’i kasutada. Kui teil on küsimusi või ettepanekuid, jätke kommentaar allpool.