Senarai Semak Keselamatan Muat Naik Imej PHP
Melaksanakan langkah keselamatan yang teguh adalah penting apabila mengendalikan muat naik imej. Walaupun langkah yang disediakan menawarkan garis asas perlindungan, terdapat pertimbangan tambahan untuk memastikan keselamatan menyeluruh.
1. Lumpuhkan Pelaksanaan PHP dalam Folder Muat Naik
Mengehadkan pelaksanaan PHP dalam folder muat naik menghalang penyerang daripada mengeksploitasi kelemahan dalam skrip PHP. Gunakan .htaccess untuk melumpuhkan pelaksanaan PHP dalam direktori ini.
2. Sahkan Pelanjutan Fail
Benarkan hanya sambungan fail imej tertentu, seperti .jpg, .jpeg, .gif dan .png. Gunakan getimagesize() untuk mengesahkan jenis fail dan menolak apa-apa yang tidak sepadan dengan senarai putih.
3. Semak Jenis Fail Imej
Tentukan jenis sebenar fail yang dimuat naik menggunakan getimagesize(). Ini memastikan penyerang tidak boleh menyamar fail berniat jahat sebagai imej.
4. Tidak Benarkan Jenis Fail Dwi
Halang muat naik dengan berbilang jenis fail, seperti "imej/png;imej/jpeg", yang mungkin digunakan oleh penyerang untuk memintas semakan keselamatan. Gunakan substr_count() untuk memastikan jenis fail tidak mengandungi berbilang garis miring (/).
5. Namakan semula Fail Imej
Menamakan semula fail yang dimuat naik dengan pengecam unik (cth., cincangan) menghalang penyerang daripada meramalkan nama fail dan menyasarkan fail tertentu.
6. Simpan Imej Diproses
Seperti yang disyorkan oleh jawapan yang diterima, memproses semula imej menggunakan GD atau Imagick menghilangkan potensi kelemahan yang mungkin terdapat dalam fail asal.
7. Gunakan Fungsi Move Upload
Sentiasa gunakan move_uploaded_file() untuk memindahkan fail yang dimuat naik ke lokasi destinasi. Fungsi ini memastikan pengendalian dan keselamatan pemindahan fail yang betul.
8. Hadkan Akses Direktori Muat Naik
Hadkan akses kepada direktori muat naik kepada pengguna yang dibenarkan sahaja. Konfigurasikan kebenaran fail dan pertimbangkan untuk menggunakan senarai kawalan akses (ACL) untuk mengelakkan pengubahsuaian atau pemadaman yang tidak dibenarkan.
9. Pantau Fail Yang Dimuat Naik
Semak fail yang dimuat naik secara kerap untuk mengesan aktiviti yang mencurigakan, seperti saiz fail yang tidak normal atau kandungan yang tidak dijangka. Laksanakan mekanisme pengimbasan fail untuk mengesan dan meneutralkan sebarang muat naik berniat jahat.
Dengan melaksanakan langkah keselamatan tambahan ini, anda boleh meningkatkan keselamatan skrip muat naik imej anda dengan ketara dan melindungi aplikasi anda daripada serangan berniat jahat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melindungi Skrip Muat Naik Imej PHP Saya daripada Serangan Hasad?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!