Kuinka käyttää WordPress Noncea
Mikä on WordPress Nonce?
Kuten WordPress Codexissa mainitaan, WordPress nonce on "kerran käytetty numero", joka auttaa suojaamaan URL-osoitteita ja lomakkeita tietyntyyppiseltä väärinkäytöltä, pahalta tai muulta.
Nonce ei ole muuta kuin suojaustunnus, jota tulisi käyttää kehityksen aikana CSRF-hyökkäysten (sivustojen välisten väärennösten) välttämiseksi.
Teemaa tai laajennusta kehitettäessä tulisi käyttää muotoa tai URL-osoitetta. WordPress-kehittäjänä noncen käyttö on hyvä käytäntö.
Kuinka käyttää Nonce-muotoa
Kuten mainittiin, nonce on merkki CSRF-hyökkäysten estämiseksi. Kun käsittelemme muotoja, meidän tulisi lisätä tämä ei-muoto lomakkeihimme. Jos haluat lisätä nonce-muodon, käytämme piilotettua kenttää.
<input type="hidden" name="FIELD_NAME" value="<?php echo wp_create_nonce('NONCE_NAME'); ?>"
Korvaa yllä olevassa koodissa FIELD_NAME & NONCE_NAME haluamallasi tavalla.
Tarkista, onko Nonce voimassa?
Kun olet lisännyt nonce-muodon lomakkeeseen, sinun on tarkistettava, onko noncen välittäminen kelvollinen lomakkeen lähettämisen jälkeen. WordPress tarjoaa toiminnon wp_verify_nonce tarkistaa ei-kelvollisuuden.
if (wp_verify_nonce( $_REQUEST['FIELD_NAME'], 'NONCE_NAME')) {
//safe to proceed
} else {
die('Security Check!');
}
Kuinka käyttää Nonce URL: ssä
CSRF-hyökkäyksiä voi tapahtua verkkosivustolla myös URL-osoitteiden kautta. Lisäksi arkaluontoisilla sivuilla ei-merkityksellä on tärkeä rooli. Sanotaan, että meillä on verkkosivulla asetussivu, joka sisältää joitain arkaluontoisia tietoja, jotka tulisi suojata. Haluamme estää sitä myös CSRF-hyökkäyksiltä. Joten luon ei-URL-osoitteen sivun asettamiseksi seuraamalla tapaa.
<a href="<?php echo wp_nonce_url(get_bloginfo('url').'/settings', 'page-settings', 'setting-nonce'); ?>"></a>
Tarkista, onko Nonce voimassa?
Nyt meidän on tarkistettava, onko nonce-välitys pätevä vai ei. Voimme tehdä tämän seuraavalla tavalla. Tässäkin käytämme wp_verify_nonce() -toimintoa tarkistaaksemme ei-pätevyyden. Lisään koodin alla asetussivun yläosaan.
if (isset($_GET['setting-nonce']) && wp_verify_nonce($_GET['setting-nonce'], 'page-settings')) {
//safe tp proceed
}
Toivon, että ymmärrät kuinka käyttää WordPress Noncea. Jos sinulla on kysyttävää tai ehdotuksia, jätä kommentti alla.