Kode di atas tidak derdapat pengecekan apakah pengguna yang sedang mengakses dasbor situs punya hak untuk melakukan perubahan pengaturan atau tidak. Celah kerentanan ini berpotensi dimanfaatkan orang jahat untuk mengubah pengaturan situs secara tidak sah.
Perbaikan (patch) dengan verifikasi nonce dan kapabilitas pengguna
Verifikasi nonce bertujuan untuk memastikan tindakan perubahan pengaturan benar-benar berasal sumber yang sah. Selanjutnya perlu ditambahkan pengecekan tambahan untuk memvalidasi pengguna yang melakukan perubahan pengaturan sudah punya hak akses yang sesuai.
Fungsi yang digunakan adalah wp_verify_nonce() dan user_can(), yang sudah disediakan di WordPress core API.
Implementasinya seperti ini:
P.S.:
Snippet di atas didapat dari riset software plugin WordPress: Points and Rewards for WooCommerce