Coding

🔒 13 Cara Membuat PHP Native Tetap Aman dan Kuat Layaknya Framework Modern

Dipublikasikan: 15 Nov 2025
⏱️ Estimasi waktu baca: 3 menit

Banyak orang mengira bahwa aplikasi web berbasis PHP native itu kurang aman dibanding framework besar seperti Laravel atau CodeIgniter.
Padahal faktanya, PHP native tetap bisa dibuat sangat aman, sama kuatnya seperti framework — asal Anda menerapkan teknik keamanan yang benar.

Buktinya, banyak rumah sakit, klinik, sekolah, dan kantor pemerintahan tetap menggunakan PHP native, tetapi tingkat keamanannya tinggi karena mengikuti standar keamanan ketat.

Berikut adalah 13 teknik terpenting untuk meningkatkan keamanan aplikasi PHP Native Anda, mulai dari yang paling mudah hingga paling kuat.

Baca juga:
Belajar Coding Bagian 3: Anatomi HTML dan Atribut HTML
Langkah Mudah Membuat Database Pertama Kali di MySQL (Cocok untuk Pemula)

🟩 1. Gunakan Prepared Statement (Anti SQL Injection)

INI adalah teknik nomor 1 yang WAJIB diterapkan.

Jangan pernah menyisipkan data POST langsung ke dalam query:

$sql = "INSERT INTO users VALUES ('$_POST[user]')";

Cara aman:

$stmt = $koneksi->prepare("INSERT INTO users (nama) VALUES (?)"); $stmt->bind_param("s", $nama); $stmt->execute();

✔ Sangat aman
✔ 100% anti SQL injection
✔ Wajib untuk aplikasi sensitif seperti Portal PPI Rumah Sakit

🟦 2. Gunakan password_hash() dan password_verify()

Jangan pernah menyimpan password dalam bentuk biasa (plain text).

Contoh salah:

$password_db = $_POST['password'];

Contoh benar:

$hash = password_hash($password, PASSWORD_DEFAULT);

Saat login, gunakan:

password_verify($password_input, $password_hash_db);

🟨 3. Selalu Validasi Input

Setiap data dari:

  • Form login
  • Form input data
  • Upload dokumen
  • GET parameter
  • Fetch API

harus divalidasi terlebih dahulu.

Contoh:

$judul = htmlspecialchars(trim($_POST['judul']));

🟧 4. Tambahkan CSRF Token pada Form

CSRF Token mencegah form dipalsukan dari luar website Anda.

HTML:

Backend:

if ($_POST['token'] !== $_SESSION['token']) {    die("Invalid token!"); }

🟥 5. Gunakan Session Keamanan (httpOnly + Regenerate ID)

Wajib saat pengguna login:

session_start(); session_regenerate_id(true); $_SESSION['user'] = $username;

Perkuat lagi:

ini_set('session.cookie_httponly', 1);

Mencegah pencurian session oleh hacker.

🟪 6. Batasi Akses ke Backend (Authorization)

Setiap file backend harus punya:

include "../../includes/auth_check.php";

Isi file auth_check.php:

session_start(); if (!isset($_SESSION['user'])) {    header("Location: /login.php");    exit; }

🟫 7. Amankan Upload File (Wajib untuk Dokumen RS)

Untuk upload wajib dicek:

  • Tipe file
  • Ukuran file
  • Nama file
  • Lokasi penyimpanan

Contoh:

$allowed = ['pdf', 'jpg', 'png']; $ext = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION)); if(!in_array($ext, $allowed)) {   die("File tidak diizinkan!"); }

🟩 8. Nonaktifkan Error Output di Mode Production

Ini sangat penting agar struktur folder tidak bocor ke publik.

ini_set('display_errors', 0);

🟦 9. Sanitasi Output (Anti XSS)

Setiap data yang ditampilkan ke halaman harus disaring:

echo htmlspecialchars($judul);

Mencegah script jahat tampil di browser.

🟨 10. Pisahkan Backend dan Frontend

Struktur seperti ini sangat dianjurkan:

/frontend /backend /config

Tujuannya untuk mencegah orang mengakses file proses secara langsung serta memudahkan pengelolaan aplikasi.

🟧 11. Gunakan .htaccess untuk Mengunci Folder Backend

Buat file .htaccess di dalam folder /backend:

Options -Indexes 

Ini mencegah pengguna melihat isi folder backend Anda.

🟥 12. Batasi Ukuran Request

Setting di PHP.ini:

post_max_size = 10M upload_max_filesize = 10M

Mencegah serangan DoS melalui upload besar.

🟪 13. Gunakan HTTPS

Aktifkan SSL (biasanya gratis via Let’s Encrypt).

Keuntungan:

  • Data terenkripsi
  • Login lebih aman
  • Cookie lebih terlindungi

RINGKASAN UTAMA

PHP Native bisa sangat aman, bahkan setara framework, jika Anda menerapkan:
✔ Prepared statements
✔ CSRF token
✔ Session keamanan
✔ Validasi input
✔ XSS filter
✔ Upload file aman
✔ Struktur folder rapi

Framework hanya mempermudah — tapi inti keamanannya bisa Anda terapkan secara manual di PHP native.

Chat Admin Sekarang //