Nonce wordpress nedir ve nasıl kullanılır

Nones, WordPress güvenliğinin önemli bir parçasıdır, ancak genellikle yanlış anlaşılır veya yanlış kullanılırlar. Bunlar, kodunuzun güvenliğini korumaya hizmet eden Sitenize HTTP taleplerini yetkilendiren şeyin önemli bir parçasıdır. Bu makalede, nonce’nin ne olduğunu, nonce wordpress ne olduğunu, belirli saldırı türlerinden nasıl koruyabileceklerini, neyi koruyamayacaklarını ve nasıl kullanılacağını öğreneceksiniz. WordPress nonce nonces nedir, talebin doğru kişi veya müşteri tarafından yapıldığını doğrulamak için kullanılan bir kriptografik karma. Çünkü nonce karma kriptografik algoritması – MD5, SHA1, SHA2, vb. – ve bir tür gizli veri, nonce’i sahte yapmak etkili bir şekilde imkansız olmalıdır.
Nonce kelimesi “bir kez kullanılan sayı” anlamına gelir. Bir kerelik kullanımı NCES’in güvenliğinin ana özelliğidir. Geçerli nonce’yi kesmiş olsanız bile, kullanımdan sonra artık kullanılamaz. Bu, NPES’i tekrar oynatma saldırılarını durdurmak için yararlı hale getirir. Bununla birlikte, nonce wordpress, gerçek bir nonce değil ve 12 saat boyunca geçerli veya yapıldığından beri “nonce_life” filtre değeri. Bu, bir kereden fazla, ancak sadece 12 saat içinde kullanılabilecekleri anlamına gelir. Bu hatırlanması önemli bir farktır. WordPress sitemizin yalnızca formları doldurarak veri aldığı isteklerin sahteciliğini, ödeme formları, yayın editörleri, kullanıcı profili editörleri vb. ve Gönder’i tıklayın. Ancak bu, Siteye HTTP isteklerinin birçok yolundan sadece biridir.
Form yapısı bilindikten sonra, komut dosyası formun isteği simüle etmek için yazılabilir. Bunu kullanmanın bir yolu, tehlikeli verilere girmek için orijinal siteye geri gönderilen diğer sitelere formun sahte bir versiyonunu yerleştirmektir. Bu, çapraz yerinde talep sahteciliğinin (CSRF) bir örneğidir. Bu çoğunlukla nonces kullanılarak önlenebilir. Şekil aynı kalsa da, nonce alanının değeri tahmin edilmeyecektir. WordPress sitesine yapılan her istek, bir seçenek formu, yönetici-ajax isteği, dinlenme ateşi veya sitenin dışından gelebilecek herhangi bir şey nonce ile korunmalıdır.Nonce, nonce’nin doğrulanmasının bir parçası değildir, Sitenize olan talebin yetkilendirilmesini sağlamak için yeterli. Herhangi bir talep için yeteneğin incelenmesi gerekecektir. WordPress’ten seçenekleri depolamak için kullanılan üç admin-ajax örneğini düşünün: add_action (‘wp_ajax_save_twitter’ eklenti seçenek ekranı, function () {)
if (isset ($ _post [‘twitter’]))) {
Update_option (‘twitter’, strip_tags ($ _post [‘twitter’]));
}
});
Add_action (‘wp_ajax_save_twitter’, function () {
if (current_user_can (‘mange_options’) && isset ($ _post [‘twitter’])) {
Update_option (‘twitter’, strip_tags ($ _post [‘twitter’]));
}
});
Add_action (‘wp_ajax_save_twitter’, function () {
if (current_user_can (‘mange_options’) && isset ($ _post [‘twitter-ale-nonce’], $ _post [‘twitter’]) && wp_verify_nonce ($ _post [‘twitter-ale-nonce’], ‘twitter-seave -monce ‘))) {
Update_option (‘twitter’, strip_tags ($ _post [‘twitter’]);}
}); İlk örnek, kullanıcılar için geçerli bir çerezi olan herkesin bu seçeneği güncellemesine izin verir. Kodu sitenizde çalıştırırsanız ve bir müşteri olduğumda, çerezimi almak için siteye girebilir ve daha sonra bir tarayıcı konsolu kullanabilir veya seçeneği değiştirmek için terminalimde curl kullanabilirim.
İkinci örnek biraz daha iyi, ama yine de güvenli değil. Nonce yok, ancak mevcut kullanıcılar için doğru izni kontrol ediyor. Nonce olmadan, bu kod hala CSRF saldırılarına karşı savunmasızdır. Bu kimlik avı saldırıları için bir davettir.
Üçüncü örnek nonce ekler. Bu doğru yol. Sette bir çerez yöneticim varsa ve ilk örneğe karşı çalışacak bir kimlik avı saldırısı için düşersem, nonce doğrulamayacak ve hasar olmayacak. NPES kimlik doğrulama sınavı ile birlikte çalışır. Birini ya da diğerini özleyemezsin.
Nonces WordPress’in kullanılması, Nones ile çalışmak için bir dizi işlev vardır. Wp_create_nonce () ve wp_verify_nonce () ‘nin en önemli iki işlevi. Her ikisi de isteğe bağlı bir eylem argümanı alabilir. İsteğiniz için her zaman benzersiz eylemler ayarlamanız gerekir. Bu, diğer istek türlerini doğrulamak için tekrar kullanılamayacağınız anlamına gelir. Formda kullanılacak şekilde, nonce ile gizli bir alan oluşturmanızı sağlayan wp_nonce_field () adlı yardımcı bir işlev vardır. Bu basit form, yukarıdan ikinci örnekle çalışacaktır:

<giriş türü = "metin" değer = "” />

JQuery (belge). Rapor (işlev ($) {
$ (‘#Twitter-form’) .on (‘tıklayın’, işlev (e) {
$ .Post (Ajaxurl, {
‘Twitter-Save-Nonce’: $ (‘#_wpnonce’). Val (),,
Twitter: $ (‘#Names-Twitter’)
})
});
});
Bu, yalnızca Yönetici tarafından erişilebilen menü sayfasında kullanılacaktır.Sonuç olarak, kullanılan nonce, ekranda yazdırıldığında yalnızca yönetici için yazdırılır.Nonce muayenesi ve yeteneği, kullanıcının çerezinin WordPress doğrulaması ile birlikte admin-ajax geri çağrısını kontrol eder.
Bu örnekte, Ajax’ı form göndermek için kullanıyoruz, ancak işlem HTTP senkron istekleri için aynı olacaktır. Aktif değil! Gerçekten nones için var olan her şey bu. Onları kullanmaktan daha çok kullanın. Tereddüt kullanıyorsanız. İhtiyacınız olmadığını hissettiğinizde, kullanmaya devam edin. Birisi sizi aradığında, kullanmadığınız için – bu hepimize olur – bir tane ekleyin. Sonuç olarak nonces hakkında iletmek istediğim iki nokta daha var: Nonce hakkında hatırlanması gereken önemli bir şey, nonce bileşenlerinden birinin mevcut kullanıcı kimliği veya giriş yapılmazsa 0 olmasıdır. Bu, Nonce’nin tüm kullanıcılarla paylaşılamayacağı anlamına gelir. Bu, kullanıcı kimliği doğrulanmadan önce nonce doğrulanmış gibi kafa karıştırıcı olabilir, o zaman doğru nonce doğrulanmaz. Bu, nonce, çerez kimlik doğrulamasını doğrulayan WordPress Rest API nonce boyunca kullanıldığında ortaya çıkan bir sorundur. Hatırlanması gereken önemli bir şey, Nones’in PHP zaman saldırılarına karşı savunmasız olmasıdır. Bu nedenle WordPress kullanıcıları, basit dizelerin karşılaştırılması yerine kasıtlı olarak verimsiz işlevler hash_equals () işlevlerini yerine getirir. Beklenen değeri üreterek ve bir dize karşılaştırması kullanarak nonce’yi doğrulamaya cazip gelebilirsiniz. NonCe doğrulama sürecini optimize etmemelisiniz. İşte burada. Nones kullanmak için sadece basit bir giriş. Umarım bu makalede Nones’in kodunuzu ve onu güvenli çalıştıran siteyi korumak için basit ve önemli olduğunu görmüşsünüzdür.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir