✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas kasutada WordPress Nonce’i

20

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.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem