Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Melaksanakan Pengalihan HTTPS dalam Laravel 5 Menggunakan Middleware?
Laravel 5: Melaksanakan Pengalihan HTTPS dengan Middleware
Dalam Laravel 5, penguatkuasaan akses HTTPS untuk aplikasi anda boleh dicapai menggunakan Middleware. Berikut ialah panduan langkah demi langkah tentang cara untuk mencapainya:
1. Buat Kelas Middleware
Mulakan dengan mencipta kelas Middleware baharu:
namespace MyApp\Http\Middleware; use Closure; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle($request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
2. Gunakan Middleware pada Permintaan
Seterusnya, daftarkan middleware di app/Http/Kernel.php dengan menambahkannya pada tatasusunan $middleware:
protected $middleware = [ 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', // Add your middleware here 'MyApp\Http\Middleware\HttpsProtocol' ];
3. Konfigurasikan untuk Cloudflare
Jika anda menggunakan Cloudflare, tambahkan baris seguintes pada Middleware anda:
$request->setTrustedProxies([$request->getClientIp()]);
4. Mengendalikan Pengecualian dalam Laravel v5.7
Dalam Laravel v5.7, mengubah hala permintaan bukan HTTPS menggunakan URL::forceScheme('https') tidak lagi mengubah hala permintaan. Untuk memastikan pengalihan yang betul, gunakan kaedah yang diterangkan di atas.
Kesimpulan
Dengan melaksanakan Middleware ini, anda boleh memaksa akses HTTPS untuk aplikasi Laravel 5 anda, walaupun dalam situasi di mana hanya domain khusus yang menggunakan SSL. Pendekatan ini fleksibel dan membolehkan penyesuaian berdasarkan keperluan dan persekitaran khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengalihan HTTPS dalam Laravel 5 Menggunakan Middleware?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!