Untuk memeriksa apakah security header telah diterapkan dengan benar di aplikasi Laravel kamu, kamu bisa menggunakan beberapa alat dan layanan online yang tersedia. Berikut adalah beberapa rekomendasi alat yang dapat kamu gunakan:
Security Headers (Scott Helme)

  • Situs web: Security Headers
  • Cara menggunakan: Masukkan URL aplikasi kamu, lalu klik "Scan". Alat ini akan memberikan laporan tentang berbagai header keamanan yang diimplementasikan, beserta rekomendasi untuk perbaikan.
Mozilla Observatory
  • Situs web: Mozilla Observatory
  • Cara menggunakan: Masukkan URL aplikasi kamu dan klik "Scan Me". Alat ini memberikan penilaian yang mendalam tentang berbagai aspek keamanan aplikasi web kamu, termasuk security headers.
Qualys SSL Labs
  • Situs web: SSL Labs
  • Cara menggunakan: Masukkan URL aplikasi kamu dan klik "Submit". Alat ini terutama digunakan untuk menguji sertifikat SSL/TLS, tetapi juga memberikan beberapa informasi tentang header keamanan.
CURL Command
  • Kamu juga bisa menggunakan curl di terminal untuk memeriksa header yang diterapkan. Contoh perintah:
curl -I https://example.com

  • Perintah ini akan menampilkan semua header yang diterima dari server.
Browser Developer Tools
  • Kamu bisa menggunakan alat developer di browser seperti Chrome atau Firefox. Buka aplikasi kamu, tekan F12 atau klik kanan dan pilih "Inspect". Lalu pergi ke tab "Network", reload halaman dan pilih permintaan utama (biasanya GET). Di sana kamu akan melihat semua header respons di tab "Headers".

Langkah untuk Memeriksa Header Menggunakan Security Headers (Scott Helme)

  1. Buka Security Headers.
  2. Masukkan URL aplikasi kamu.
  3. Klik tombol "Scan".
  4. Lihat laporan yang dihasilkan, yang akan menunjukkan header apa saja yang sudah diimplementasikan dan apa yang masih perlu diperbaiki.

Langkah untuk Memeriksa Header Menggunakan Mozilla Observatory

  1. Buka Mozilla Observatory.
  2. Masukkan URL aplikasi kamu.
  3. Klik tombol "Scan Me".
  4. Tinjau laporan yang dihasilkan, yang akan memberikan penilaian dan rekomendasi untuk peningkatan keamanan.

Menambahkan Header Keamanan Secara Manual dengan Middleware Kustom

Jika kamu lebih suka menambahkan header keamanan secara manual tanpa menggunakan paket pihak ketiga, kamu bisa membuat middleware kustom di Laravel. Berikut adalah contoh cara melakukannya:
Buat Middleware Baru Jalankan perintah berikut di terminal untuk membuat middleware baru:
php artisan make:middleware SecurityHeaders

Edit Middleware Baru Buka file app/Http/Middleware/SecurityHeaders.php dan tambahkan header keamanan di metode handle:
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class SecurityHeaders
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $response = $next($request);

        $response->headers->set('X-Frame-Options', 'SAMEORIGIN');
        $response->headers->set('X-XSS-Protection', '1; mode=block');
        $response->headers->set('X-Content-Type-Options', 'nosniff');
        $response->headers->set('Referrer-Policy', 'no-referrer-when-downgrade');
        $response->headers->set('Feature-Policy', "geolocation 'self'; microphone 'none'");
        $response->headers->set('Strict-Transport-Security', 'max-age=31536000; includeSubDomains; preload');
        $response->headers->set('Expect-CT', 'max-age=0, enforce, report-uri="https://example.com/report"');
        $response->headers->set('Content-Security-Policy', "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; frame-ancestors 'self'");

        return $response;
    }
}

Tambahkan Middleware ke Kernel Tambahkan middleware ini ke kernel Laravel di app/Http/Kernel.php. Tambahkan \App\Http\Middleware\SecurityHeaders::class ke array middleware.
protected $middleware = [
    \App\Http\Middleware\TrustHosts::class,
    \App\Http\Middleware\TrustProxies::class,
    \Illuminate\Http\Middleware\HandleCors::class,
    \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\SecurityHeaders::class, // Tambahkan baris ini
];

Dengan menggunakan alat-alat di atas dan mengikuti langkah-langkah untuk menambahkan header keamanan, kamu bisa memastikan aplikasi Laravel kamu memiliki perlindungan yang diperlukan terhadap berbagai ancaman keamanan.