Selamat datang di Laravel 11 Starter Kit! Proyek ini adalah fondasi yang kokoh dan aman untuk memulai pengembangan aplikasi web modern Anda. Dibangun di atas Laravel 11, starter kit ini sudah terintegrasi dengan Laravel Jetstream (stack Livewire) dan dilengkapi dengan lapisan keamanan HTTP Headers yang ketat melalui middleware khusus.
- Framework Terbaru: Dibangun di atas Laravel 11.
- Autentikasi Lengkap: Menggunakan Laravel Jetstream dengan stack Livewire.
- Registrasi & Login Pengguna
- Manajemen Profil (Update data, ganti password)
- Fitur Hapus Akun
- Keamanan Tingkat Lanjut: Implementasi middleware
SecurityHeadersMiddlewareuntuk menerapkan praktik terbaik keamanan web modern. - Validasi Password Kuat: Aturan validasi password yang ketat saat registrasi untuk memastikan keamanan akun pengguna.
- Konfigurasi Modern: Menggunakan Vite untuk asset bundling yang super cepat.
-
Clone Repository
git clone https://github.com/BagusA23/LSJ.git cd repository -
Install Dependensi PHP
composer install
-
Buat File Environment Salin file
.env.examplemenjadi.envdan sesuaikan konfigurasinya.cp .env.example .env
-
Generate Application Key
php artisan key:generate
-
Konfigurasi Database Buka file
.envdan atur koneksi database Anda (nama database, user, password).DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
-
Jalankan Migrasi Database
php artisan migrate
-
Install Dependensi JavaScript
npm install
-
Jalankan Development Server
npm run dev
Aplikasi Anda sekarang akan berjalan di
http://127.0.0.1:8000dan Vite dev server dihttp://localhost:5173.
Untuk meningkatkan keamanan aplikasi dari serangan umum seperti XSS, Clickjacking, dan lainnya, starter kit ini menyertakan App\Http\Middleware\SecurityHeadersMiddleware.php. Middleware ini secara otomatis menambahkan HTTP security headers penting pada setiap response.
Strict-Transport-Security(HSTS): Memaksa browser untuk selalu berkomunikasi melalui HTTPS. Aktif hanya di lingkunganproduction.X-Content-Type-Options: Mencegah browser dari MIME-type sniffing.X-Frame-Options: Melindungi dari serangan Clickjacking dengan memblokir rendering halaman dalam<iframe>dari origin yang berbeda.Referrer-Policy: Mengontrol informasi referrer yang dikirim saat navigasi.Cross-Origin-Opener-Policy&Cross-Origin-Resource-Policy: Melindungi dari serangan cross-origin seperti Spectre.Permissions-Policy: Membatasi izin penggunaan fitur browser (kamera, geolokasi, dll) secara default.
CSP adalah lapisan pertahanan kritis untuk mencegah serangan Cross-Site Scripting (XSS). Middleware ini menerapkan kebijakan CSP yang berbeda untuk lingkungan development dan production.
-
Development (
APP_ENV=local):- Aturan lebih longgar untuk mendukung Vite Dev Server dan Hot Module Replacement (HMR).
- Mengizinkan
unsafe-inlinedanunsafe-evaluntuk kemudahan debugging.
-
Production (
APP_ENV=production):- Aturan sangat ketat.
- Tidak mengizinkan script atau style inline (
unsafe-inline). - Tidak mengizinkan
eval()(unsafe-eval). - Semua aset (script, style, font) hanya diizinkan dari domain aplikasi sendiri (
'self') dan CDN yang terpercaya (misal:fonts.bunny.net).
Saat Anda menambahkan resource eksternal baru (CDN, script pihak ketiga), Anda mungkin perlu menyesuaikan CSP. Untuk menguji perubahan tanpa memblokir resource, Anda bisa menggunakan mode "Report-Only".
Set variabel berikut di file .env Anda:
CSP_REPORT_ONLY=true