{"id":243802,"date":"2025-09-09T03:26:55","date_gmt":"2025-09-09T03:26:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/search-protection\/"},"modified":"2025-09-09T04:20:05","modified_gmt":"2025-09-09T04:20:05","slug":"search-protection","status":"publish","type":"plugin","link":"https:\/\/ne.wordpress.org\/plugins\/search-protection\/","author":16751687,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.5.9","stable_tag":"1.5.9","tested":"6.8.5","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Search Protection","header_author":"Digiwuz MSP, <a href=\"https:\/\/hilfan.staff.telkomuniversity.ac.id\/\" target=\"_blank\" rel=\"noopener\">Hilfan<\/a>, <a href=\"https:\/\/telkomuniversity.ac.id\/\" target=\"_blank\" rel=\"noopener\">Telkom University<\/a>","header_description":"Lindungi form pencarian dari spam dan karakter berbahaya dengan daftar hitam dan reCAPTCHA v3.","assets_banners_color":"5bb3ed","last_updated":"2025-09-09 04:20:05","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/endowment.telkomuniversity.ac.id\/donasi-langsung\/","header_plugin_uri":"https:\/\/github.com\/hilfans\/search-protection-wordpress","header_author_uri":"https:\/\/msp.web.id\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":258,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.9":{"tag":"1.5.9","author":"hilfans0","date":"2025-09-09 04:20:05"}},"upgrade_notice":{"1.5.9":"<p>Versi ini berisi perbaikan keamanan penting dan penyempurnaan kode untuk memenuhi standar WordPress.org. Pembaruan sangat direkomendasikan.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3358256,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3358255,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3358288,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3358289,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3358290,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Halaman pengaturan utama untuk Pengaturan reCAPTCHA v3, Pengaturan Pemblokiran Kata.","2":"Menu pengaturan utama untuk Pengaturan Pesan &amp; Pengalihan, Manajemen Data, Simpan Semua Perubahan.","3":"Menu pengaturan utama untuk Cadangkan &amp; Pulihkan Pengaturan."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1220,1178,944,600,599],"plugin_category":[54],"plugin_contributors":[247577,244602,247202],"plugin_business_model":[],"class_list":["post-243802","plugin","type-plugin","status-publish","hentry","plugin_tags-block","plugin_tags-protection","plugin_tags-search","plugin_tags-security","plugin_tags-spam","plugin_category-security-and-spam-protection","plugin_contributors-digiwuz","plugin_contributors-hilfans0","plugin_contributors-telkomuniversity","plugin_committers-hilfans0"],"banners":{"banner":"https:\/\/ps.w.org\/search-protection\/assets\/banner-772x250.png?rev=3358255","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/search-protection\/assets\/icon-256x256.png?rev=3358256","icon_2x":"https:\/\/ps.w.org\/search-protection\/assets\/icon-256x256.png?rev=3358256","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/search-protection\/assets\/screenshot-1.png?rev=3358288","caption":"Halaman pengaturan utama untuk Pengaturan reCAPTCHA v3, Pengaturan Pemblokiran Kata."},{"src":"https:\/\/ps.w.org\/search-protection\/assets\/screenshot-2.png?rev=3358289","caption":"Menu pengaturan utama untuk Pengaturan Pesan &amp; Pengalihan, Manajemen Data, Simpan Semua Perubahan."},{"src":"https:\/\/ps.w.org\/search-protection\/assets\/screenshot-3.png?rev=3358290","caption":"Menu pengaturan utama untuk Cadangkan &amp; Pulihkan Pengaturan."}],"raw_content":"<!--section=description-->\n<p>Plugin <strong>Search Protection<\/strong> menyediakan dua lapis pertahanan untuk form pencarian standar WordPress Anda untuk melindunginya dari serangan spam dan upaya pencarian berbahaya.<\/p>\n\n<ul>\n<li><strong>Daftar Hitam (Blacklist)<\/strong>: Blokir pencarian yang mengandung kata-kata spesifik atau pola karakter (regex) yang Anda tentukan.<\/li>\n<li><strong>Google reCAPTCHA v3<\/strong>: Verifikasi secara transparan apakah pengunjung adalah manusia atau bot, dan blokir permintaan yang mencurigakan tanpa mengganggu pengguna asli.<\/li>\n<\/ul>\n\n<p>Plugin ini dirancang agar mudah dikonfigurasi dan bekerja secara otomatis di latar belakang untuk menjaga situs Anda tetap aman.<\/p>\n\n<h3>Layanan Eksternal<\/h3>\n\n<p>Plugin ini terintegrasi dengan layanan Google reCAPTCHA v3 untuk melindungi form pencarian dari spam dan bot berbahaya. Fitur ini bersifat opsional dan dapat diaktifkan atau dinonaktifkan dari halaman pengaturan plugin.<\/p>\n\n<ul>\n<li><strong>Layanan:<\/strong> Google reCAPTCHA v3<\/li>\n<li><strong>Data yang Dikirim:<\/strong> Saat pengguna mengirimkan form pencarian dan fitur reCAPTCHA diaktifkan, alamat IP pengguna dan token reCAPTCHA akan dikirim ke server Google untuk diverifikasi.<\/li>\n<li><strong>Syarat dan Kebijakan Layanan:<\/strong> Untuk informasi lebih lanjut, silakan tinjau <a href=\"https:\/\/policies.google.com\/terms\">Persyaratan Layanan<\/a> dan <a href=\"https:\/\/policies.google.com\/privacy\">Kebijakan Privasi<\/a> dari Google.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Unggah folder <code>search-protection<\/code> ke direktori <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Aktifkan plugin melalui menu 'Plugins' di WordPress.<\/li>\n<li>Buka <strong>Pengaturan &gt; Search Protection<\/strong> untuk melakukan konfigurasi.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='apakah%20saya%20perlu%20akun%20google%20recaptcha%3F'><h3>Apakah saya perlu akun Google reCAPTCHA?<\/h3><\/dt>\n<dd><p>Ya, jika Anda ingin mengaktifkan fitur reCAPTCHA v3. Anda bisa mendapatkannya secara gratis dari <a href=\"https:\/\/www.google.com\/recaptcha\/admin\">Google reCAPTCHA Admin<\/a>.<\/p><\/dd>\n<dt id='apakah%20plugin%20ini%20memperlambat%20situs%20saya%3F'><h3>Apakah plugin ini memperlambat situs saya?<\/h3><\/dt>\n<dd><p>Tidak. Plugin ini sangat ringan. Proses pemblokiran terjadi di sisi server sebelum WordPress menjalankan kueri pencarian yang berat ke database. Pembersihan log juga dijadwalkan dengan Cron Job agar tidak membebani server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.9 (3 September 2025)<\/h4>\n\n<p>\" PENINGKATAN KEAMANAN: Memperketat validasi pada file yang diunggah dengan menambahkan pengecekan isset() pada $_FILES['import_file']['error'] untuk menghilangkan peringatan InputNotValidated dari alat pemeriksa plugin.  Menambah pengecekan format file json yang diupload agar sesuai template pada saat backup.<\/p>\n\n<h4>1.5.0 (26 Agustus 2025)<\/h4>\n\n<ul>\n<li>PENINGKATAN KEAMANAN: Semua input sekarang disanitasi lebih awal dan semua output di-escape dengan fungsi esc_*() sesuai konteks.<\/li>\n<li>PENINGKATAN KEAMANAN: Penambahan verifikasi nonce pada form impor\/ekspor pengaturan serta pada token reCAPTCHA di form pencarian.<\/li>\n<li>PENINGKATAN KEAMANAN: Validasi unggahan file cadangan .json ditingkatkan dengan pengecekan tipe file, ukuran maksimal, dan penggunaan WP_Filesystem.<\/li>\n<li>PENINGKATAN KODE: Query database dibungkus dengan $wpdb-&gt;prepare() dan nama tabel diamankan dengan esc_sql(). Ditambahkan anotasi phpcs:ignore dengan justifikasi untuk menghindari false positive.<\/li>\n<li>PERBAIKAN: Menghapus kode debug set_error_handler() dan fungsi non\u2011produksi lain yang ditandai oleh pemeriksa kode.<\/li>\n<li>PERBAIKAN: Semua admin notice di-escape dengan aman dan markup diperbaiki.<\/li>\n<li>PERBAIKAN: uninstall.php diperkuat untuk menghapus cron job, opsi plugin, dan tabel log sesuai dengan opsi delete_on_uninstall.<\/li>\n<\/ul>\n\n<h4>1.4.1 (22 Agustus 2025)<\/h4>\n\n<ul>\n<li>PENINGKATAN KEPATUHAN: Mengubah semua prefix internal plugin (misalnya <code>sph_<\/code>) menjadi <code>search_protect_<\/code> untuk memenuhi persyaratan keunikan dan panjang minimal dari WordPress.org.<\/li>\n<li>PENINGKATAN KEAMANAN: Mengganti fungsi <code>echo json_encode<\/code> dengan <code>wp_send_json<\/code> untuk proses ekspor pengaturan yang lebih aman dan sesuai standar WordPress.<\/li>\n<li>PENINGKATAN KEAMANAN: Menambahkan sanitasi eksplisit pada nama file yang diunggah saat proses impor pengaturan.<\/li>\n<li>DOKUMENTASI: Menambahkan bagian \"Layanan Eksternal\" pada file readme untuk menjelaskan penggunaan API Google reCAPTCHA sesuai pedoman.<\/li>\n<li>CATATAN PENTING: Karena perubahan prefix internal yang signifikan, semua pengaturan plugin akan direset setelah melakukan update ke versi ini. Harap lakukan konfigurasi ulang atau pulihkan dari cadangan.<\/li>\n<\/ul>\n\n<h4>1.3.2 (31 Juli 2025)<\/h4>\n\n<ul>\n<li>PENINGKATAN KEAMANAN: Memperketat validasi, sanitasi, dan escaping pada semua input dan output untuk lolos dari semua pemeriksaan keamanan otomatis oleh tim WordPress.org.<\/li>\n<li>PENINGKATAN KODE: Memperbaiki cara pemanggilan skrip reCAPTCHA agar sepenuhnya sesuai standar WordPress menggunakan <code>wp_enqueue_script<\/code>, meningkatkan keamanan dan kompatibilitas tema.<\/li>\n<li>PENINGKATAN PERFORMA: Menambahkan nomor versi pada aset skrip untuk memastikan pengguna selalu mendapatkan versi terbaru setelah pembaruan (cache-busting).<\/li>\n<li>PENINGKATAN PERFORMA: Mengimplementasikan object caching (<code>wp_cache_get<\/code>) untuk query database di halaman pengaturan untuk mengurangi beban server pada situs dengan lalu lintas tinggi.<\/li>\n<li>PERBAIKAN: Menambahkan komentar <code>phpcs:ignore<\/code> yang diperlukan untuk menangani temuan <em>false positive<\/em> dari pemindai kode otomatis, memastikan plugin lolos semua pemeriksaan standar WordPress.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>FITUR: Menambahkan panel informasi di halaman pengaturan untuk menampilkan kata kunci yang terblokir dalam 24 jam terakhir.<\/li>\n<li>PENINGKATAN: Memudahkan admin menyalin kata kunci yang sering diblokir untuk dimasukkan ke daftar hitam.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Rilis awal plugin.<\/li>\n<\/ul>","raw_excerpt":"Lindungi form pencarian Anda dari spam dan karakter berbahaya dengan daftar hitam dan integrasi Google reCAPTCHA v3.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/243802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=243802"}],"author":[{"embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hilfans0"}],"wp:attachment":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=243802"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=243802"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=243802"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=243802"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=243802"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=243802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}