Tanpa pengembang PHP, pulihkan akses, uji cadangan dan identifikasi runtime. Lalu pilih PHP bertambal, migrasi atau arsip statis untuk menangani PHP2Shell.
01
Pulihkan akses dan penanggung jawab
Temukan registrar, hosting, server/panel, kode, akses DB dan pembayar. Tetapkan pemberi izin pemeliharaan dan pemulihan. Identifikasi versi melalui berkas lokal. Pulihkan akun/sumber yang hilang sebelum mengganti PHP produksi.
02
Simpan bukti dan latih pemulihan
Jika curiga, simpan log sebelum pembersihan. Cadangkan kode, DB, uploads, konfigurasi dan jadwal sebagai set bertanggal, terenkripsi dan terbatas. Catat encoding/storage. Pulihkan secara privat dan uji isi/login; pesan backup sukses bukan uji restore.
Patch tidak meniadakan kompromi ↗03
Petakan jarak generasi PHP
PHP 5.3/5.6 dapat memakai API terhapus. PHP 7 menghapus ext/mysql; PHP 8 menghapus each()/create_function() dan memperketat tipe/signature; PHP 8.2 mendeprekasi properti dinamis. Baca tiap migrasi. Minimum lama bukan rekomendasi operasi atau pengujian kode khusus.
04
Pilih perbaikan, migrasi atau arsip
Patch vendor terverifikasi dapat memberi waktu; pastikan kedua CVE dan dukungan. PHP usang memerlukan target didukung, bukan pengecualian WAF permanen. Perbaiki aplikasi terkendali, bangun ulang dependensi terbengkalai atau arsipkan konten statis dengan menangani login, pencarian dan formulir.
05
Bangun latihan privat representatif
Cocokkan PHP Web, ekstensi, INI, DB dan rute. Batasi salinan anonim, blokir mail nyata, tagihan dan webhook produksi. Uji framework, plugin dan kode bersama. Simpan penerimaan bisnis/log; pemilik nonteknis bisa meminta catatan host.
06
Rencanakan rollback dengan penulisan
Simpan berkas dan DB yang berpasangan. Rollback PHP tidak membalik skema. Sepakati jeda tulis atau sinkronisasi teruji, kriteria gagal, operator dan batas waktu. Perhitungkan pesanan setelah snapshot dan latih restore serta rekonsiliasi.
07
Verifikasi layanan nyata setelah pindah
Periksa PHP Web, seluruh FPM, antrean, jadwal, kontainer dan replika; ganti worker lama. Buktikan kedua CVE lewat versi/buletin vendor. Uji tautan dalam, login, unggahan dan bisnis. Simpan log/jendela rollback; CLI dan beranda tidak cukup.
Verifikasi patch PHP2Shell ↗Uji fungsi situs setelah perbaikan PHP2Shell
Login, sesi dan peran
Uji masuk, keluar, reset kata sandi, sesi, admin dan peran dengan akun uji.
Tautan dalam dan HTTP
Buka tautan dalam, formulir dan halaman hilang; bandingkan parameter, redirect dan status HTTP.
Baca/tulis DB
Baca/tulis data uji; periksa driver, SQL ketat, transaksi dan nilai yang kembali.
Templat khusus dan escaping
Render artikel, daftar, akun dan galat; periksa tag, escaping, cache dan peringatan.
Unggahan dan thumbnail
Unggah gambar aman, ambil thumbnail dan hapus; periksa izin, jalur dan URL sambil memblokir berkas eksekusi.
Job baru dan lama
Proses job baru/lama dengan worker baru; periksa serialisasi, retry dan duplikasi.
Jadwal dan jalur PHP
Periksa PHP, INI dan akun scheduler sebenarnya; uji tugas aman dan bandingkan setelah rilis.
Cache dingin/hangat dan OPcache
Bangun cache sesuai docs; uji dingin/hangat serta nilai serialisasi dan proses OPcache lama.
Pengiriman surel uji
Kirim surel ke penampung uji; periksa templat, antrean dan transport tanpa pelanggan asli.
Pesanan, pajak dan stok
Uji pesanan sandbox dengan kirim, pajak, diskon, refund; bandingkan total, stok dan riwayat.
Pembayaran sandbox dan notifikasi
Uji pembayaran sukses/gagal dan notifikasi; periksa tanda tangan dan idempotensi agar tidak menagih ganda.
Indeks dan filter pencarian
Bangun indeks uji; bandingkan pencarian, filter dan izin terpisah dari respons PHP.
Situs, domain dan bahasa
Uji setiap situs, domain, bahasa dengan peran tepat; periksa cookie, URL dan konfigurasi.
GBK/UTF-8 dan pemeriksaan data
Uji karakter khusus lewat formulir, DB, ekspor; pertahankan GBK/UTF-8 sampai konversi diuji terpisah.
Kontrak API dan callback
Uji API dengan/tanpa autentikasi; bandingkan tipe JSON, galat, status dan callback.
Ekstensi Web/CLI dan ABI
Pastikan ekstensi Web/CLI cocok ABI/NTS/ZTS; uji driver dan layanan.
Verifikasi patch PHP2Shell
Kompatibilitas aplikasi, pemeliharaan, dan keamanan PHP adalah pemeriksaan terpisah. Pilih cabang PHP yang didukung dengan kedua perbaikan CVE, lalu periksa semua pekerja Web, tugas terjadwal, dan replika. Update plugin tidak mengganti PHP.
| Cabang PHP | Rilis asli di bawah | Rilis perbaikan pertama | Akhir dukungan keamanan |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 31 Des 2029 |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 31 Des 2028 |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 31 Des 2027 |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 31 Des 2026 |
Tidak ada rilis reguler PHP untuk cabang ini. Backport sumber minimal tersedia untuk 7.4, 8.0, dan 8.1. Verifikasi dukungan vendor secara terpisah. Baca panduan ↗