WordPress Security: Gunakan nonce untuk melindungi tema dan kod plugin
Melindungi keselamatan tema WordPress atau kod plug-in adalah penting dan dapat menghalang serangan dari pengguna yang berniat jahat. Kami telah meliputi sebelum membersihkan, melarikan diri, dan mengesahkan data bentuk di WordPress, dan bagaimana menggunakan pengimbas VIP untuk meningkatkan kualiti tema WordPress. Hari ini, kami akan meneroka bagaimana Nonce (satu kali digital) dapat membantu menjaga tema WordPress dan plugin selamat.
mata utama
- WordPress Nonce, atau "Nombor Penggunaan Satu Masa", adalah token keselamatan yang unik yang digunakan untuk meningkatkan keselamatan laman web WordPress dengan mengesahkan permintaan pengguna dan mencegah percubaan berniat jahat. Mereka amat berguna dalam mencegah serangan pemalsuan permintaan lintas tapak (CSRF).
- Nonce berfungsi dengan menjana token unik untuk setiap sesi pengguna, penyerahan bentuk, atau permintaan Ajax. Token ini kemudiannya disahkan apabila memproses permintaan, dan jika ia tidak sepadan, permintaan itu ditolak. Ini menjadikan sukar bagi penyerang untuk meramalkan atau menyalahgunakan token.
- Membuat Nonce dalam WordPress dicapai dengan menggunakan fungsi WordPress
wp_create_nonce()
, yang menerima parameter rentetan tunggal yang mewakili operasi untuk dilindungi. Pengesahan Nonce dilakukan menggunakan fungsiwp_verify_nonce()
, yang menerima dua parameter: nonce untuk disahkan dan operasi yang berkaitan. - Nonce boleh digunakan untuk permintaan Ajax di WordPress, menambah lapisan tambahan keselamatan untuk mencegah serangan CSRF. Nonce juga khusus pengguna, menyediakan lapisan keselamatan tambahan dengan memastikan bahawa nonce yang dibuat untuk satu pengguna tidak sah untuk yang lain.
Apa itu WordPress Nonce?
wordpress nonce ditakrifkan sebagai:
... "nombor penggunaan satu kali" untuk membantu melindungi URL dan bentuk dari jenis penyalahgunaan tertentu (berniat jahat atau sebaliknya). http://www.miracleart.cn/link/c5af1dfde1040402285102771ad64b3dac
Semasa di WordPress, Nonce bukan nombor teknikal (ia adalah hash huruf dan nombor), ia membantu menghalang pengguna yang berniat jahat daripada menjalankan tindakan.
karya WordPress Nonce dibahagikan kepada dua bahagian:
- Buat nonce (nilai hash), serahkannya melalui borang atau tindakan, dan
- Sahkan nonce, kemudian terima data borang atau jalankan tindakan.
: _wpnonce
http://www.miracleart.cn/link/18175d262a01ebf04bc03e38e48e3ffc
Rutin untuk memadam siaran akan memeriksa sama ada Post 542 mempunyai nilai nonce sebelum memadamkan siaran. Jika Nonce tidak wujud atau tidak sepadan dengan nilai yang diharapkan, jawatan itu tidak akan dipadamkan. a03ac85772
http://www.miracleart.cn/link/322d830da113169fb4ca1c7543799d0
http://www.miracleart.cn/link/dd4143061640d55fb312dd0ce8afa76e
Sekarang mari kita lihat cara melaksanakan WordPress Nonce dalam plugin.
mari kita mulakan dengan plugin asas dengan skrin tetapannya sendiri. Skrin Tetapan mempunyai medan yang boleh dikemukakan dan disimpan dalam jadual pilihan WordPress.
masukkan kod berikut ke dalam fail baru dalam
:
wp-content/plugins/implementing-wordpress-nonces/implementing-wordpress-nonces.php
Aktifkan plugin melalui Skrin Plugin WordPress & GT;
// ... (插件代碼,與原文相同) ...
Klik item ini dan anda akan dibawa ke skrin Tetapan, dengan hanya satu bidang:
Masukkan sebarang nilai, klik "Simpan", jika semuanya berfungsi, anda akan melihat maklumat pengesahan dan nilai yang anda masukkan:
masukkan URL berikut ke bar alamat penyemak imbas web anda (ganti nama domain dengan tempat anda memasang WordPress):
http://www.miracleart.cn/link/0e143c3bef0f7759c230664c4dc905f8
dalam kod kami dan bukannya (kami menggunakan untuk menunjukkan isu keselamatan dengan lebih mudah), ini tidak membantu - pengguna berniat masih boleh menggunakan diri mereka sendiri atau mendorong anda untuk mengklik Pautan membolehkan anda menghantar permintaan pos ke skrin ini, menghasilkan perubahan nilai pilihan.
Ini dipanggil pemalsuan permintaan lintas tapak (atau CSRF). Laman web yang berniat jahat, e -mel, aplikasi, dan lain -lain akan menyebabkan pelayar web pengguna melakukan operasi yang tidak perlu.
Kami sekarang akan membuat dan mengesahkan WordPress Nonce untuk mengelakkan serangan ini menjadi mungkin.
$_POST
Seperti yang disebutkan sebelumnya, proses ini dibahagikan kepada dua langkah: pertama, kita perlu membuat nonce yang akan dikemukakan dengan borang kami. Kedua, kita perlu mengesahkan nonce ketika mengemukakan borang. $_REQUEST
Untuk membuat medan nonce dalam bentuk kami, kami boleh menggunakan wp_nonce_field()
:
Dapatkan atau tunjukkan medan bentuk tersembunyi yang tidak tersembunyi ... digunakan untuk mengesahkan bahawa kandungan permintaan borang datang dari tapak semasa, bukan di tempat lain ...
tambahkan kod berikut di atas butang input kami:
// ... (插件代碼,與原文相同) ...
wp_nonce_field
Terima empat parameter-dua yang pertama adalah yang paling penting:
-
$action
: Ini menentukan operasi khusus yang kita jalankan dan harus unik. Adalah lebih baik untuk menggunakan nama plugin sebagai awalan untuk operasi, kerana mungkin terdapat beberapa operasi yang dijalankan. Dalam kes ini, kami menjimatkan sesuatu, jadi kami menggunakanimplementing_wordpress_nonces_save
-
$name
: Ini menentukan nama medan tersembunyi yang dicipta oleh fungsi ini. Seperti yang disebutkan di atas, kami telah menggunakan nama plugin sebagai awalannya, jadi kami menamakannyaimplementing_wordpress_nonces_nonce
Jika kita memuatkan semula skrin tetapan, tukar nilai kami dan klik simpan, anda akan melihat bahawa nilai itu masih akan berubah. Sekarang kita perlu melaksanakan pemeriksaan medan nonce yang dikemukakan, menggunakan wp_verify_nonce( $name, $action )
:
Sahkan bahawa nonce adalah betul dan tidak tamat tempoh berbanding dengan operasi yang ditentukan. Fungsi ini digunakan untuk mengesahkan nonce yang dihantar dalam permintaan semasa, biasanya diakses melalui pemboleh ubah php
$_REQUEST
.
Gantikan bahagian "Simpan Tetapan" dari admin_screen()
fungsi plugin kami dengan kod berikut:
wp_nonce_field( 'implementing_wordpress_nonces_save', 'implementing_wordpress_nonces_nonce' );
Kod ini melaksanakan operasi berikut:
- Pertama, ia memeriksa jika kita telah mengemukakan sesuatu.
- maka ia memeriksa jika bidang nonce kami wujud dan, jika ya, cuba sahkan nilai nonce berdasarkan tindakan yang kami harapkan.
- Jika cek berlalu, kemas kini pilihan.
- Jika cek gagal, kami akan membuang ralat 403 dengan mesej "tidak sah yang ditentukan".
Untuk memastikan nonce kami sedang dicipta dan disahkan, mari cuba lagi untuk mengakses URL langsung "jahat" kami:
http://www.miracleart.cn/link/0e143c3bef0f7759c230664c4dc905f8 . >
... (selebihnya adalah sama dengan teks asal, tetapi bahasa dan ekspresi diselaraskan secara terperinci untuk memastikan niat asal tidak berubah) ....
Atas ialah kandungan terperinci Apa itu WordPress Nonces?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apabila menguruskan projek WordPress dengan Git, anda hanya perlu memasukkan tema, plugin tersuai, dan fail konfigurasi dalam kawalan versi; Sediakan fail .gitignore untuk mengabaikan direktori, cache, dan konfigurasi sensitif; Gunakan alat web atau alat CI untuk mencapai penggunaan automatik dan perhatikan pemprosesan pangkalan data; Gunakan dasar dua cawangan (utama/membangunkan) untuk pembangunan kolaboratif. Melakukannya boleh mengelakkan konflik, memastikan keselamatan, dan meningkatkan kecekapan dan kecekapan penggunaan.

Kunci untuk mewujudkan blok Gutenberg adalah untuk memahami struktur asasnya dan betul menghubungkan sumber depan dan belakang. 1. Sediakan persekitaran pembangunan: Pasang WordPress, Node.js dan @WordPress/skrip tempatan; 2. Gunakan PHP untuk mendaftarkan blok dan tentukan logik penyuntingan dan paparan blok dengan JavaScript; 3. Membina fail JS melalui NPM untuk membuat perubahan berkuatkuasa; 4. Periksa sama ada jalan dan ikon adalah betul apabila menghadapi masalah atau menggunakan masa nyata mendengar untuk membina untuk mengelakkan kompilasi manual berulang. Berikutan langkah -langkah ini, blok Gutenberg yang mudah boleh dilaksanakan langkah demi langkah.

Gunakan persekitaran ujian WordPress untuk memastikan keselamatan dan keserasian ciri-ciri baru, plug-in atau tema sebelum dilancarkan secara rasmi, dan mengelakkan mempengaruhi laman web sebenar. Langkah-langkah untuk membina persekitaran ujian termasuk: memuat turun dan memasang perisian pelayan tempatan (seperti LocalWP, XAMPP), mewujudkan tapak, menyediakan akaun pangkalan data dan pentadbir, memasang tema dan pemalam untuk ujian; Kaedah menyalin laman web rasmi ke persekitaran ujian adalah untuk mengeksport tapak melalui pemalam, mengimport persekitaran ujian dan menggantikan nama domain; Apabila menggunakannya, anda harus memberi perhatian untuk tidak menggunakan data pengguna sebenar, kerap membersihkan data yang tidak berguna, menyokong status ujian, menetapkan semula persekitaran dalam masa, dan menyatukan konfigurasi pasukan untuk mengurangkan perbezaan.

Di WordPress, apabila menambah jenis artikel tersuai atau mengubahsuai struktur pautan tetap, anda perlu menyegarkan semula peraturan penulisan secara manual. Pada masa ini, anda boleh menghubungi fungsi flush_rewrite_rules () melalui kod untuk melaksanakannya. 1. Fungsi ini boleh ditambah ke cangkuk pengaktifan tema atau plug-in untuk menyegarkan semula secara automatik; 2. Melaksanakan hanya sekali apabila perlu, seperti menambah CPT, taksonomi atau mengubahsuai struktur pautan; 3. Elakkan panggilan yang kerap untuk mengelakkan mempengaruhi prestasi; 4. Dalam persekitaran berbilang tapak, muat semula setiap tapak secara berasingan sesuai; 5. Sesetengah persekitaran hosting boleh menyekat penyimpanan peraturan. Di samping itu, klik Simpan untuk mengakses halaman "Tetapan> Pautan Disematkan" juga boleh mencetuskan penyegaran, sesuai untuk senario tidak automatik.

Tosetupredirectsinwordpressusingthe.htaccessfile, locatethefileinyoursite'srootdirectoryandaddredirectrulesabovethe#startwordpresssection.forbasic301redirects, usetheformatredirect301/old-pageShen./

Menggunakan penggunaan.1.smtpAuthenticateSver, reducingSpamplacement.2.someHostSdisablePHpmail (), MuatingSmtpNEpPNeSheSy.3soSheAsheySheySheAdSheAdoSheySheSy.3soSheAsheySheShpMPMail.3SheSheSy.3soSheAdoShey.3soSheAdoShey.3soSheAdoShey.3soSheAdoShey.3soSheAdoShey.3soSheAdoShey.3soSheAdoShey.3SheShipShPMail.3SheSheSy.3SoSheWoShPMail.

Untuk melaksanakan reka bentuk tema WordPress yang responsif, pertama, gunakan tag meta HTML5 dan mudah alih, tambahkan tetapan Viewport dalam header.php untuk memastikan terminal mudah alih dipaparkan dengan betul, dan menyusun susun atur dengan tag struktur HTML5; Kedua, gunakan pertanyaan media CSS untuk mencapai penyesuaian gaya di bawah lebar skrin yang berbeza, tulis gaya mengikut prinsip mudah alih pertama, dan titik putus yang biasa digunakan termasuk 480px, 768px dan 1024px; Ketiga, memproses gambar dan susun atur secara elastik, tetapkan maksimum lebar: 100% untuk gambar dan gunakan susun atur flexbox atau grid dan bukannya lebar tetap; Akhirnya, ujian sepenuhnya melalui alat pemaju penyemak imbas dan peranti sebenar, mengoptimumkan prestasi pemuatan, dan memastikan tindak balas

Tointegratetheird-partyapisIntowordPress, ikuti: 1.celectabeapiandobtaincredentialslikeapikeysoroauthtokensbyregisteringandkeepingthemsecure.2.Choosebetweenpluginsforsimplicity_
