Panduan PHP: File Upload, Cookies, Sessions, dan Filters
PHP adalah bahasa pemrograman yang mendukung berbagai fitur penting seperti pengunggahan file, pengelolaan cookies, sesi pengguna, dan pemfilteran data. Artikel ini akan menjelaskan setiap fitur beserta contohnya.
1. PHP File Upload
PHP memungkinkan pengunggahan file dari pengguna ke server menggunakan formulir HTML. Pastikan untuk menangani file dengan aman untuk mencegah eksploitasi.
Langkah-Langkah Pengunggahan File
Buat formulir HTML untuk memilih file:
<form action="upload.php" method="post" enctype="multipart/form-data">
Pilih file untuk diunggah:
<input type="file" name="fileToUpload" id="fileToUpload">
<button type="submit">Upload File</button>
</form>
Buat file upload.php
untuk menangani file yang diunggah:
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "File ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])). " berhasil diunggah.";
} else {
echo "Terjadi kesalahan saat mengunggah file.";
}
?>
Tips Keamanan
- Periksa ekstensi file menggunakan
pathinfo()
. - Batasi ukuran file dengan
$_FILES["fileToUpload"]["size"]
. - Gunakan direktori terpisah untuk file unggahan.
2. PHP Cookies
Cookies digunakan untuk menyimpan data kecil di browser pengguna. PHP menyediakan fungsi setcookie()
untuk membuat cookies.
Membuat dan Membaca Cookies
<?php
// Membuat cookie
setcookie("user", "John Doe", time() + (86400 * 7), "/"); // 7 hari
// Membaca cookie
if(isset($_COOKIE["user"])) {
echo "Selamat datang kembali, " . htmlspecialchars($_COOKIE["user"]);
} else {
echo "Cookie tidak ditemukan.";
}
?>
Menghapus Cookies
<?php
setcookie("user", "", time() - 3600, "/"); // Mengatur waktu kadaluarsa di masa lalu
?>
3. PHP Sessions
Sessions digunakan untuk menyimpan data pengguna sementara, biasanya selama pengguna mengakses aplikasi. Berbeda dengan cookies, data session disimpan di server.
Menggunakan Sessions
<?php
// Memulai sesi
session_start();
// Menyimpan data dalam sesi
$_SESSION["username"] = "John Doe";
// Membaca data sesi
if(isset($_SESSION["username"])) {
echo "Selamat datang, " . $_SESSION["username"];
}
// Menghapus sesi
session_unset();
session_destroy();
?>
Kapan Menggunakan Sessions?
- Untuk login pengguna dan manajemen otentikasi.
- Untuk menyimpan data sementara seperti keranjang belanja.
4. PHP Filters
PHP Filters digunakan untuk memvalidasi dan menyaring data input. Fungsi filter_var()
adalah salah satu alat utama dalam fitur ini.
Validasi Data dengan Filters
<?php
$email = "example@domain.com";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Email valid: $email";
} else {
echo "Email tidak valid.";
}
?>
Menyaring Data
<?php
$input = " Hello World! ";
$filtered_input = filter_var($input, FILTER_SANITIZE_STRING);
echo $filtered_input; // Menghapus karakter tidak aman
?>
Filter Umum
FILTER_VALIDATE_EMAIL:
Memvalidasi format email.FILTER_VALIDATE_URL:
Memvalidasi format URL.FILTER_SANITIZE_STRING:
Menghapus karakter tidak aman dari string.
Kesimpulan
Dengan fitur seperti File Upload, Cookies, Sessions, dan Filters, PHP memungkinkan pengembang untuk menangani berbagai kebutuhan aplikasi web. Pastikan untuk selalu memprioritaskan keamanan dalam implementasi fitur ini.