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://ipnx.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://ipnx.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://ipnx.cn/link/322d830da113169fb4ca1c7543799d0
http://ipnx.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://ipnx.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://ipnx.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)

Sebab-sebab utama mengapa WordPress menyebabkan lonjakan dalam penggunaan CPU pelayan termasuk masalah pemalam, pertanyaan pangkalan data yang tidak cekap, kualiti kod tema yang buruk, atau lonjakan trafik. 1. 2. Masukkan mod penyelesaian masalah untuk secara beransur-ansur membolehkan pemalam untuk menyelesaikan masalah kesesakan prestasi, gunakan QueryMonitor untuk menganalisis pelaksanaan pemalam dan memadam atau menggantikan pemalam yang tidak cekap; 3. Pasang pemalam cache, bersihkan data berlebihan, menganalisis log pertanyaan perlahan untuk mengoptimumkan pangkalan data; 4. Periksa sama ada topik itu mempunyai masalah seperti kandungan beban, pertanyaan kompleks, atau kekurangan mekanisme caching. Adalah disyorkan untuk menggunakan ujian topik standard untuk membandingkan dan mengoptimumkan logik kod. Ikuti langkah -langkah di atas untuk memeriksa dan menyelesaikan lokasi dan selesaikan masalah satu demi satu.

Fail JavaScript Minive boleh meningkatkan kelajuan memuatkan laman web WordPress dengan mengeluarkan kosong, komen, dan kod yang tidak berguna. 1. Gunakan pemalam cache yang menyokong penggabungan mampatan, seperti w3totalcache, aktifkan dan pilih mod mampatan dalam pilihan "Minify"; 2. Gunakan plug-in mampatan khusus seperti fastvelocityminify untuk memberikan lebih banyak kawalan berbutir; 3. Secara manual memampatkan fail JS dan memuat naiknya melalui FTP, sesuai untuk pengguna yang biasa dengan alat pembangunan. Perhatikan bahawa beberapa tema atau skrip plug-in mungkin bertentangan dengan fungsi mampatan, dan anda perlu menguji fungsi laman web dengan teliti selepas pengaktifan.

Kaedah untuk mengoptimumkan tapak WordPress yang tidak bergantung pada pemalam termasuk: 1. Gunakan tema ringan, seperti Astra atau GeneratePress, untuk mengelakkan tema tumpukan; 2. Secara manual memampatkan dan menggabungkan fail CSS dan JS untuk mengurangkan permintaan HTTP; 3. Mengoptimumkan imej sebelum memuat naik, gunakan format web dan saiz fail kawalan; 4. Configure.htaccess untuk membolehkan cache penyemak imbas, dan sambungkan ke CDN untuk meningkatkan kelajuan pemuatan sumber statik; 5. Hadkan semakan artikel dan data yang kerap dibersihkan data yang berlebihan.

Cara yang paling berkesan untuk mengelakkan spam komen adalah untuk mengenal pasti dan memintasnya secara automatik melalui cara programatik. 1. Menggunakan mekanisme kod pengesahan (seperti Googler Captcha atau HCaptcha) untuk membezakan secara berkesan antara manusia dan robot, terutama yang sesuai untuk laman web awam; 2. Tetapkan bidang tersembunyi (teknologi honeypot), dan gunakan robot untuk mengisi ciri -ciri secara automatik untuk mengenal pasti komen spam tanpa menjejaskan pengalaman pengguna; 3. Semak senarai hitam Kata Kunci Kandungan Komen, maklumat spam penapis melalui pemadanan kata yang sensitif, dan perhatikan untuk mengelakkan salah faham; 4. Hakim kekerapan dan sumber IP komen, hadkan bilangan penyerahan per unit masa dan buat senarai hitam; 5. Gunakan perkhidmatan anti-spam pihak ketiga (seperti Akismet, CloudFlare) untuk meningkatkan ketepatan pengenalan. Boleh berdasarkan laman web

Transientsapi adalah alat terbina dalam di WordPress untuk menyimpan data tamat tempoh automatik sementara. Fungsi terasnya adalah set_transient, get_transient dan delete_transient. Berbanding dengan OptionsAPI, transien menyokong penetapan masa kelangsungan hidup (TTL), yang sesuai untuk senario seperti hasil permintaan API cache dan data pengkomputeran yang kompleks. Apabila menggunakannya, anda perlu memberi perhatian kepada keunikan penamaan utama dan ruang nama, mekanisme "penghapusan malas" cache, dan isu yang mungkin tidak bertahan dalam persekitaran cache objek. Senario aplikasi biasa termasuk mengurangkan kekerapan permintaan luaran, mengawal irama pelaksanaan kod, dan meningkatkan prestasi pemuatan halaman.

Apabila membangunkan blok gutenberg, kaedah aset enqueue yang betul termasuk: 1. Gunakan daftar_block_type untuk menentukan laluan editor_script, editor_style dan gaya; 2. Daftar sumber melalui wp_register_script dan wp_register_style dalam fungsi.php atau plug-in, dan tetapkan kebergantungan dan versi yang betul; 3. Konfigurasikan alat binaan untuk mengeluarkan format modul yang sesuai dan pastikan laluan itu konsisten; 4. Kawalan logik pemuatan gaya depan melalui add_theme_support atau enqueue_block_assets untuk memastikan logik pemuatan gaya front-end dipastikan.

Untuk menambah medan pengguna tersuai, anda perlu memilih kaedah lanjutan mengikut platform dan memberi perhatian kepada pengesahan data dan kawalan kebenaran. Amalan umum termasuk: 1. Gunakan jadual tambahan atau pasangan nilai utama pangkalan data untuk menyimpan maklumat; 2. Tambah kotak input ke hujung depan dan diintegrasikan dengan hujung belakang; 3. Mengatasi Pemeriksaan Format dan Kebenaran Akses untuk Data Sensitif; 4. Kemas kini antara muka dan templat untuk menyokong paparan dan penyuntingan medan baru, sambil mengambil kira penyesuaian mudah alih dan pengalaman pengguna.

Kunci untuk menambah peraturan penulisan semula tersuai di WordPress adalah dengan menggunakan fungsi add_rewrite_rule dan pastikan peraturan berkuatkuasa dengan betul. 1. Gunakan add_rewrite_rule untuk mendaftarkan peraturan, formatnya adalah add_rewrite_rule ($ regex, $ redirect, $ selepas), di mana $ regex adalah url yang sepadan dengan ungkapan biasa, $ redirect menentukan pertanyaan sebenar, dan $ selepas mengawal lokasi peraturan; 2. Pembolehubah pertanyaan tersuai perlu ditambah melalui add_filter; 3. Selepas pengubahsuaian, tetapan pautan tetap mesti disegarkan semula; 4. Adalah disyorkan untuk meletakkan peraturan di 'atas' untuk mengelakkan konflik; 5. Anda boleh menggunakan pemalam untuk melihat peraturan semasa untuk kemudahan
