Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk mengelakkan kelemahan muat naik fail menggunakan PHP

Bagaimana untuk mengelakkan kelemahan muat naik fail menggunakan PHP

Jun 24, 2023 am 08:25 AM
Perlindungan keselamatan pengaturcaraan php Kerentanan muat naik fail

Dengan populariti Internet dan jenis tapak web yang semakin meningkat, fungsi muat naik fail menjadi semakin biasa, tetapi fungsi muat naik fail juga telah menjadi salah satu sasaran utama penyerang. Penyerang boleh mengawal tapak web dan mencuri maklumat pengguna dengan memuat naik fail berniat jahat ke tapak web dan satu siri tingkah laku berniat jahat Oleh itu, cara untuk menghalang kelemahan muat naik fail telah menjadi isu penting dalam keselamatan Web. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengelakkan kelemahan muat naik fail.

  1. Semak jenis fail dan sambungan

Penyerang sering menyamar sebagai fail yang tidak mengancam seperti imej dan mendapatkan kebenaran sistem dengan memuat naik fail berniat jahat, jadi fail yang dimuat naik Adalah perlu untuk menyemak jenis dan sambungan.

Pertama, anda boleh menggunakan $_FILES'file' untuk mendapatkan jenis fail yang dimuat naik, menilai jenis fail dan hanya membenarkan muat naik jenis fail tertentu, seperti format imej (png, jpg, dll.) .

Kedua, anda boleh menggunakan fungsi pathinfo() untuk mendapatkan sambungan fail yang dimuat naik Pelanjutan juga dinilai dan hanya sambungan yang dinyatakan dibenarkan untuk dimuat naik. Walau bagaimanapun, perlu diingatkan bahawa sambungan beberapa fail boleh diganggu, jadi cara lain perlu digabungkan untuk mengukuhkan perlindungan.

  1. Semak saiz fail

Penyerang boleh menggunakan sumber pelayan dengan memuat naik fail besar, menyebabkan beban pelayan yang berlebihan. Oleh itu, ia juga perlu untuk mengehadkan saiz fail yang dimuat naik.

Anda boleh menetapkan saiz fail maksimum dan hanya membenarkan fail yang lebih kecil daripada saiz ini dimuat naik. Secara umumnya, saiz kira-kira 2MB adalah lebih sesuai.

  1. Nama fail rawak

Penyerang boleh menggantikan fail asal dengan memuat naik fail dengan nama yang sama, menyebabkan fail asal hilang atau diserang. Oleh itu, nama fail fail yang dimuat naik boleh diacakkan untuk menjana nama fail yang unik untuk mengelakkan fail daripada diganti atau pelawat mendapatkan laluan fail.

Anda boleh menggunakan fungsi uniqid() digabungkan dengan cap waktu untuk menjana nama fail rawak yang unik dan menambah sambungan nama fail asal pada penghujungnya. Contohnya:

$filename = uniqid().time() '.' .' . direktori

  1. Selepas muat naik berjaya, fail yang dimuat naik perlu dialihkan ke direktori yang ditentukan. Terdapat beberapa semakan keselamatan yang perlu dilakukan pada fail yang dimuat naik sebelum mengalihkannya ke direktori.
Sebagai contoh, anda perlu menentukan kebenaran direktori muat naik dan memastikan direktori muat naik tidak berada di bawah direktori akar Web. Adalah lebih baik untuk menetapkan direktori muat naik kepada baca sahaja dan memastikan bahawa nama fail tidak mengandungi maklumat sensitif.

Halang penulisan ganti fail

  1. Semasa proses muat naik fail, fail dengan nama yang sama mungkin dimuat naik. Jika fail yang dimuat naik kemudian mempunyai nama yang sama dengan fail asal, fail asal mungkin ditimpa. Oleh itu, fail yang dimuat naik boleh dinamakan semula untuk memastikan fail tersebut tidak akan ditimpa.
Anda boleh menambah fail pembilang dalam direktori muat naik untuk merekodkan bilangan fail yang telah dimuat naik Pembilang akan dinaikkan sebanyak 1 setiap kali ia dimuat naik, dan nilai pembilang akan digunakan sebagai sebahagian daripada. nama fail.

Halang pelaksanaan kod hasad

  1. Jika fail yang dimuat naik digantikan dengan kod PHP hasad, ia akan menyebabkan ancaman keselamatan yang hebat. Oleh itu, anda perlu memastikan bahawa fail yang dimuat naik tidak akan dilaksanakan sebagai fail boleh laku.
Anda boleh mengubah suai fail konfigurasi Apache dan menambah kod berikut:

ForceType application/octet-stream

Header set Content -Lampiran pelupusan



Ini akan menetapkan semua fail yang berakhir dengan .php sebagai fail binari dan sebagai lampiran apabila dimuat turun.

Selain itu, fail yang boleh dimuat naik boleh dihadkan kepada imej, teks dan fail format lain, dan fail berbahaya seperti fail boleh laku dan fail skrip tidak dibenarkan untuk dimuat naik.

Log dan pemantauan

  1. Akhir sekali, pembalakan dan pemantauan diperlukan untuk memudahkan penemuan masalah dan pemprosesan tepat pada masanya. Anda boleh menggunakan fungsi error_log() terbina dalam PHP untuk merekod maklumat ralat ke dalam fail log, atau menggunakan alat pihak ketiga untuk memantau dan membimbangkan.
Secara amnya, mencegah kerentanan muat naik fail memerlukan penggunaan menyeluruh pelbagai kaedah dan cara untuk meningkatkan keselamatan sebanyak mungkin. Kaedah yang diberikan di atas boleh membantu pembangun PHP mengelakkan masalah kerentanan biasa, tetapi mereka juga perlu membuat pelarasan dan pengoptimuman yang sepadan berdasarkan situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk mengelakkan kelemahan muat naik fail menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara melaksanakan permintaan perlindungan keselamatan dan pembaikan kerentanan dalam FastAPI Cara melaksanakan permintaan perlindungan keselamatan dan pembaikan kerentanan dalam FastAPI Jul 29, 2023 am 10:21 AM

Cara melaksanakan permintaan perlindungan keselamatan dan pembaikan kelemahan dalam FastAPI Pengenalan: Dalam proses membangunkan aplikasi web, adalah sangat penting untuk memastikan keselamatan aplikasi. FastAPI ialah rangka kerja web Python yang pantas (berprestasi tinggi), mudah digunakan, dengan penjanaan dokumentasi automatik. Artikel ini akan memperkenalkan cara melaksanakan permintaan perlindungan keselamatan dan pembaikan kerentanan dalam FastAPI. 1. Gunakan protokol HTTP selamat Menggunakan protokol HTTPS adalah asas untuk memastikan keselamatan komunikasi aplikasi. FastAPI menyediakan

Bagaimana untuk melaksanakan kod PHP untuk melompat ke halaman yang ditentukan Bagaimana untuk melaksanakan kod PHP untuk melompat ke halaman yang ditentukan Mar 07, 2024 pm 02:18 PM

Apabila menulis tapak web atau aplikasi, anda sering menghadapi keperluan untuk melompat ke halaman tertentu. Dalam PHP, kita boleh mencapai lompat halaman melalui beberapa kaedah. Di bawah saya akan menunjukkan tiga kaedah lompat biasa untuk anda, termasuk menggunakan fungsi header(), menggunakan kod JavaScript dan menggunakan tag meta. Menggunakan fungsi header() Fungsi header() ialah fungsi yang digunakan dalam PHP untuk menghantar maklumat header HTTP asal Fungsi ini boleh digunakan dalam kombinasi apabila melaksanakan lompatan halaman. Di bawah ialah a

Penapisan data PHP: Bagaimana untuk mengelakkan kelemahan muat naik fail Penapisan data PHP: Bagaimana untuk mengelakkan kelemahan muat naik fail Jul 30, 2023 pm 09:51 PM

Penapisan Data PHP: Cara Mencegah Kerentanan Muat Naik Fail Fungsi muat naik fail adalah sangat biasa dalam aplikasi web, tetapi ia juga merupakan salah satu yang paling terdedah kepada serangan. Penyerang boleh mengeksploitasi kelemahan muat naik fail untuk memuat naik fail berniat jahat, yang membawa kepada isu keselamatan seperti pencerobohan sistem pelayan, data pengguna dibocorkan atau penyebaran perisian hasad. Untuk mengelakkan potensi ancaman ini, kami harus menapis dan memeriksa fail yang dimuat naik oleh pengguna dengan ketat. Sahkan jenis fail Penyerang boleh menamakan semula fail .txt kepada fail .php dan muat naik

Bagaimana untuk mengelakkan kelemahan muat naik fail menggunakan PHP Bagaimana untuk mengelakkan kelemahan muat naik fail menggunakan PHP Jun 24, 2023 am 08:25 AM

Dengan populariti Internet dan jenis laman web yang semakin meningkat, fungsi muat naik fail telah menjadi semakin biasa, tetapi fungsi muat naik fail juga telah menjadi salah satu sasaran utama penyerang. Penyerang boleh mengawal tapak web dan mencuri maklumat pengguna dengan memuat naik fail berniat jahat ke tapak web dan satu siri tingkah laku berniat jahat Oleh itu, cara untuk menghalang kelemahan muat naik fail telah menjadi isu penting dalam keselamatan Web. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengelakkan kelemahan muat naik fail. Semak jenis fail dan sambungan Penyerang sering memuat naik fail berniat jahat yang menyamar sebagai fail tidak mengancam seperti imej.

Bagaimana untuk menghidupkan perlindungan keselamatan Pelayar Sogou Bagaimana untuk menghidupkan perlindungan keselamatan Pelayar Sogou Jan 31, 2024 am 11:51 AM

Bagaimana untuk menghidupkan perlindungan keselamatan Pelayar Sogou? Apabila kami menggunakan Pelayar Sogou, kami boleh menghidupkan perlindungan keselamatan untuk menyekat tapak web yang berbahaya. Apabila kami menggunakan Penyemak Imbas Sogou, kami kadangkala menemui tapak web yang berbahaya Jika kami menemui tapak web yang berbahaya, ia akan menyebabkan bahaya kepada komputer. Dalam kes ini, kami boleh melindungi keselamatan dalam talian dengan menghidupkan perlindungan keselamatan. Editor telah menyusun tutorial perlindungan keselamatan untuk membuka Pelayar Sogou di bawah Jika anda berminat, lihat di bawah! Tutorial membuka perlindungan keselamatan Pelayar Sogou [Gambar dan Teks] 1. Mula-mula buka Penyemak Imbas Berkelajuan Tinggi Sogou Anda boleh melihat ikon "Show Menu" yang terdiri daripada tiga garisan mendatar di sudut kanan atas pelayar untuk mengklik pada ikon, seperti yang ditunjukkan dalam rajah. 2. Selepas mengklik, tetingkap menu pelayar terbaru Sogou akan muncul di bawah.

Cegah kelemahan muat naik fail di Java Cegah kelemahan muat naik fail di Java Aug 07, 2023 pm 05:25 PM

Mencegah Kerentanan Muat Naik Fail dalam Java Fungsi muat naik fail adalah ciri yang mesti ada dalam banyak aplikasi web, tetapi malangnya, ia juga merupakan salah satu kelemahan keselamatan yang biasa. Penggodam boleh mengeksploitasi ciri muat naik fail untuk menyuntik kod hasad, melaksanakan kod jauh atau mengganggu fail pelayan. Oleh itu, kami perlu mengambil beberapa langkah untuk mengelakkan kelemahan muat naik fail di Java. Pengesahan bahagian belakang: Mula-mula, tetapkan atribut yang mengehadkan jenis fail dalam kawalan muat naik fail pada halaman hujung hadapan dan sahkan jenis fail dan

Penerangan ringkas tentang cara mematikan perlindungan keselamatan dalam Pelayar Sogou Penerangan ringkas tentang cara mematikan perlindungan keselamatan dalam Pelayar Sogou Jan 29, 2024 pm 07:45 PM

Bagaimana untuk mematikan perlindungan keselamatan dalam Pelayar Sogou menyekat halaman web yang kami perlukan. Apabila kami menggunakan Penyemak Imbas Sogou untuk menyemak imbas web, kami akan menemui fungsi perlindungan lengkap terbina dalam tapak web yang menyekat beberapa halaman web, dan kemudian kami tidak boleh melihatnya, yang sangat menyusahkan Bagaimana kami harus menyelesaikan situasi ini? Khususnya? Bagi operasi, editor di bawah telah menyusun langkah-langkah tentang cara mematikan perlindungan keselamatan dalam pelayar Sogou Jika anda tidak tahu caranya, ikuti saya dan teruskan membaca! Bagaimana untuk mematikan perlindungan keselamatan dalam Pelayar Sogou 1. Mula-mula buka Pelayar Sogou Berkelajuan Tinggi Anda boleh melihat ikon "Show Menu" yang terdiri daripada tiga garisan mendatar di sudut kanan atas pelayar ikon. 2. Selepas mengklik, pelayar Sogou akan muncul di bawah.

Bagaimana untuk mematikan perlindungan keselamatan pelayar QQ mudah alih Bagaimana untuk mematikan perlindungan keselamatan pelayar QQ mudah alih Mar 19, 2024 pm 07:10 PM

Bagaimana untuk mematikan perlindungan keselamatan pelayar QQ mudah alih? Ramai rakan suka menggunakan penyemak imbas QQ mudah alih Pelayar ini boleh membantu pengguna mengubah suai dan mengedit fail, yang sangat mudah untuk pejabat dan belajar Pelayar ini mempunyai fungsi perlindungan kedalaman keselamatan, yang boleh melindungi keselamatan laman web pengguna dan keselamatan Pembayaran, dsb ., tetapi ramai rakan tidak begitu memerlukan fungsi ini, jadi bagaimana untuk mematikan perlindungan keselamatan. Seterusnya, editor akan membawakan anda tutorial tentang cara mematikan perlindungan keselamatan dengan mudah pada pelayar QQ mudah alih Rakan-rakan yang berminat tidak boleh ketinggalan. Senarai tutorial tentang cara mematikan perlindungan keselamatan dengan mudah dalam pelayar QQ mudah alih 1. Buka pelayar QQ mudah alih dan masukkan halaman saya. 2. Klik ikon "Tetapan" di penjuru kanan sebelah atas (seperti yang ditunjukkan dalam gambar). 3. Masukkan halaman tetapan dan klik "Keselamatan Internet"

See all articles