Membuat Middleware PHP

Dipublikasikan: 12 Januari 2025 • Kategori: Developer • Penulis: Jumanto

Pada API modern, middleware digunakan untuk menjalankan proses tertentu sebelum request masuk ke endpoint utama. Middleware biasanya digunakan untuk autentikasi, validasi token, pengecekan role, dan sanitasi data. Konsep ini umum dalam framework seperti Laravel, tetapi dapat dibuat dengan mudah menggunakan PHP Native.

1. Apa Itu Middleware?

Middleware adalah lapisan perantara antara request dan endpoint. Contohnya:

2. Struktur Middleware Sederhana

Contoh struktur folder:


/api
  /middleware
    AuthMiddleware.php
    ApiKeyMiddleware.php
  /endpoints
    user.php
index.php

3. Contoh Middleware Autentikasi

Middleware ini mengecek apakah header Authorization berisi token valid:


class AuthMiddleware {
  public static function handle() {
    $headers = getallheaders();

    if (!isset($headers['Authorization'])) {
        http_response_code(401);
        echo json_encode(['error' => 'Token tidak ditemukan']);
        exit;
    }

    $token = str_replace('Bearer ', '', $headers['Authorization']);

    if ($token !== "TOKEN-RAHASIA") {
        http_response_code(401);
        echo json_encode(['error' => 'Token tidak valid']);
        exit;
    }
  }
}

4. Memanggil Middleware di Endpoint

Pastikan middleware dieksekusi sebelum script utama berjalan:


require_once '../middleware/AuthMiddleware.php';

AuthMiddleware::handle(); // Cegat request

echo json_encode([
  "status" => "OK",
  "message" => "Akses berhasil"
]);

5. Contoh Middleware Validasi API Key


class ApiKeyMiddleware {
  public static function check() {
    $key = $_GET['api_key'] ?? null;

    if ($key !== "12345") {
        http_response_code(403);
        echo json_encode(['error' => 'API Key salah']);
        exit;
    }
  }
}

6. Best Practice Middleware PHP

Dengan pendekatan middleware, API menjadi lebih rapi, aman, dan mudah dikembangkan seperti framework besar namun tetap ringan karena menggunakan PHP Native.

← Kembali ke Blog