


Penapisan data PHP: menghalang muat naik fail berniat jahat
Penapisan Data PHP: Mencegah Muat Naik Fail Berniat jahat
Dalam beberapa tahun kebelakangan ini, dengan perkembangan teknologi rangkaian, muat naik fail berniat jahat telah menjadi salah satu ancaman utama kepada keselamatan Internet. Muat naik fail berniat jahat bermakna penyerang memintas sekatan muat naik fail tapak web dengan memuat naik fail haram, yang membawa kepada isu keselamatan seperti eksploitasi kerentanan dan suntikan kod berniat jahat. Untuk melindungi keselamatan tapak web, kami perlu menapis dan mengesahkan data dalam kod PHP untuk menghalang muat naik fail berniat jahat.
- Semakan Akhiran Fail
Muat naik fail berniat jahat selalunya dihantar menyamar sebagai jenis fail biasa. Oleh itu, kami perlu menyemak akhiran fail yang dimuat naik dan hanya menerima jenis fail yang memenuhi keperluan. Berikut ialah kod contoh mudah:
$allowedExtensions = array('jpg', 'jpeg', 'png', 'gif'); // 允许上传的文件类型 $fileExtension = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION)); // 获取文件后缀 if (!in_array($fileExtension, $allowedExtensions)) { die('只允许上传图片文件'); }
- Semakan jenis fail
Selain menyemak akhiran fail, kami juga perlu mengesahkan jenis MIME fail untuk mengelakkan fail berniat jahat daripada disamarkan sebagai jenis fail yang sah. Anda boleh menggunakan fungsi mime_content_type() PHP untuk mendapatkan jenis MIME fail dan mengesahkannya. Berikut ialah contoh kod:
$allowedMimeTypes = array('image/jpeg', 'image/png', 'image/gif'); // 允许上传的MIME类型 $uploadedFile = $_FILES['file']['tmp_name']; // 获取上传的临时文件路径 $uploadedMimeType = mime_content_type($uploadedFile); // 获取上传文件的MIME类型 if (!in_array($uploadedMimeType, $allowedMimeTypes)) { die('只允许上传图片文件'); }
- Semakan saiz fail
Untuk mengelakkan muat naik fail besar daripada menduduki sumber pelayan atau lebar jalur rangkaian, kami perlu mengehadkan saiz fail yang dimuat naik. Anda boleh menggunakan $_FILES'file' dalam PHP untuk mendapatkan saiz fail dalam bait. Berikut ialah contoh kod:
$maxFileSize = 5 * 1024 * 1024; // 允许上传的最大文件大小(5MB) $uploadedFileSize = $_FILES['file']['size']; // 获取上传文件的大小 if ($uploadedFileSize > $maxFileSize) { die('文件大小超过限制'); }
- Anti-penduaan nama fail
Untuk mengelakkan pertindihan nama fail yang dimuat naik oleh pengguna yang berbeza, kami boleh menamakan semula fail yang dimuat naik. Anda boleh menggunakan fungsi uniqid() PHP untuk menjana nama fail yang unik dan menggabungkannya dengan akhiran fail untuk membentuk nama fail baharu. Berikut ialah contoh kod:
$uploadedFileName = $_FILES['file']['name']; // 获取上传文件的原始文件名 $newFileName = uniqid() . '.' . $fileExtension; // 生成新的文件名 $uploadedFilePath = './uploads/' . $newFileName; // 设置上传文件保存的路径 if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadedFilePath)) { echo '文件上传成功'; } else { echo '文件上传失败'; }
Ringkasnya, dengan melakukan semakan akhiran, pengesahan jenis MIME, semakan saiz fail dan pencegahan nama fail pada fail yang dimuat naik, risiko muat naik fail berniat jahat dapat dicegah dengan berkesan. Sudah tentu, untuk memastikan keselamatan sistem, kami juga harus sentiasa mengemas kini dan menaik taraf perisian pelayan, membetulkan kelemahan yang diketahui tepat pada masanya, dan memastikan keselamatan data tapak web dan privasi pengguna.
Atas ialah kandungan terperinci Penapisan data PHP: menghalang muat naik fail berniat jahat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penapisan data PHP: Cara mengendalikan dan mencegah input yang salah Dalam membangunkan aplikasi web, data input pengguna tidak boleh dipercayai, jadi penapisan dan pengesahan data adalah sangat penting. PHP menyediakan beberapa fungsi dan kaedah untuk membantu kami mengendalikan dan mencegah input yang salah Artikel ini akan membincangkan beberapa teknik penapisan data biasa dan menyediakan kod sampel. Penapisan rentetan Dalam input pengguna, kita sering menghadapi rentetan yang mengandungi teg HTML, aksara khas atau kod berniat jahat. Untuk mengelakkan kelemahan keselamatan dan serangan suntikan skrip

Ringkasan soalan lazim tentang mengimport data Excel ke dalam Mysql: Bagaimana untuk menangani data pendua semasa proses import? Dalam proses pemprosesan data, kita sering menghadapi keperluan untuk mengimport data Excel ke dalam pangkalan data Mysql. Walau bagaimanapun, disebabkan oleh jumlah data yang besar, adalah mudah untuk menduplikasi data, yang memerlukan kami mengendalikannya dengan sewajarnya semasa proses import. Dalam artikel ini, kami membincangkan cara mengendalikan data pendua semasa import dan menyediakan contoh kod yang sepadan. Sebelum melakukan pemprosesan data berulang, anda perlu memastikan bahawa terdapat yang unik

Bagaimana untuk melakukan penapisan dan carian data dalam ReactQuery? Dalam proses menggunakan ReactQuery untuk pengurusan data, kami sering menghadapi keperluan untuk menapis dan mencari data. Ciri ini boleh membantu kami mencari dan memaparkan data dalam keadaan tertentu dengan lebih mudah. Artikel ini akan memperkenalkan cara menggunakan fungsi penapisan dan carian dalam ReactQuery dan memberikan contoh kod khusus. ReactQuery ialah alat untuk menanyakan data dalam aplikasi React

VUE3 kini merupakan rangka kerja yang popular dalam pembangunan bahagian hadapan. Fungsi asas yang disediakannya boleh meningkatkan kecekapan pembangunan bahagian hadapan. Antaranya, penapis ialah alat yang sangat berguna dalam VUE3 Menggunakan penapis boleh menapis, menapis dan memproses data dengan mudah. Jadi apakah penapis? Ringkasnya, penapis ialah penapis dalam VUE3. Ia boleh digunakan untuk memproses data yang diberikan untuk membentangkan hasil yang lebih diingini dalam halaman. penapis adalah beberapa

Dengan populariti Internet, isu keselamatan laman web semakin mendapat perhatian. Antaranya, serangan XSS adalah salah satu ancaman keselamatan yang paling biasa dan berbahaya. Nama penuh XSS ialah Cross-sitescripting, yang diterjemahkan dalam bahasa Cina sebagai serangan skrip merentas tapak Ini bermakna penyerang sengaja memasukkan sekeping kod skrip berniat jahat ke dalam halaman web, sekali gus menjejaskan pengguna lain. Bahasa PHP ialah bahasa yang digunakan secara meluas dalam pembangunan web, jadi bagaimana untuk mengelakkan serangan XSS dalam pembangunan bahasa PHP? Artikel ini akan menghuraikan aspek berikut. 1. Pertanyaan berparameter

Kemahiran penapisan data PHP: Cara menggunakan fungsi filter_var untuk mengesahkan input pengguna Dalam pembangunan web, pengesahan dan penapisan data input pengguna adalah pautan yang sangat penting. Input hasad mungkin dieksploitasi oleh pengguna hasad untuk menyerang atau menjejaskan sistem. PHP menyediakan satu siri fungsi penapis untuk membantu kami memproses data input pengguna, yang paling biasa digunakan ialah fungsi filter_var. Fungsi filter_var ialah cara berasaskan penapis untuk mengesahkan input pengguna. Ia membolehkan kami menggunakan pelbagai penapis terbina dalam

Petua penapisan data PHP: Cara menggunakan fungsi filter_input untuk mengesahkan dan membersihkan input pengguna Apabila membangunkan aplikasi web, data yang dimasukkan pengguna tidak dapat dielakkan. Untuk memastikan keselamatan dan kesahihan data input, kami perlu mengesahkan dan membersihkan input pengguna. Dalam PHP, fungsi filter_input ialah alat yang sangat berguna yang boleh membantu kami menyelesaikan tugas ini. Artikel ini akan memperkenalkan cara menggunakan fungsi filter_input untuk mengesahkan dan membersihkan

Dalam C++, ungkapan lambda boleh digunakan untuk menapis dan mengubah data dengan mudah. Sebagai contoh, anda boleh menggunakan ungkapan lambda untuk menapis elemen ganjil dalam bekas, mengubah elemen dalam bekas, menapis dan mengubah bekas bersekutu, menggunakan ungkapan lambda dalam algoritma dan lulus ungkapan lambda sebagai hujah fungsi. Kaedah ini boleh menjadikan tugas pemprosesan data lebih mudah dan lebih cekap.
