Dalam Laravel 5, anda boleh menguatkuasakan HTTPS untuk aplikasi anda menggunakan kelas Middleware. Begini cara anda boleh mencapai ini:
Kelas Peranti Tengah:
namespace MyApp\Http\Middleware; use Closure; class HttpsProtocol { public function handle($request, Closure $next) { if (!$request->secure()) { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Memohon Peranti Tengah:
Langkah seterusnya ialah untuk menggunakan Middleware ini pada semua permintaan yang masuk. Dalam fail Kernel.php, tambahkannya pada tatasusunan $middleware:
protected $middleware = [ // Existing middleware... // Custom middleware 'MyApp\Http\Middleware\HttpsProtocol', ];
Pengesahan Persekitaran Pengeluaran:
Perisian tengah yang disediakan mengubah hala semua permintaan HTTP ke HTTPS, tetapi anda mungkin mahu mengehadkan tingkah laku ini kepada persekitaran pengeluaran sahaja. Anda boleh melakukan ini dengan menyemak persekitaran aplikasi:
if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); }
Pertimbangan Cloudflare:
Jika anda menggunakan Cloudflare, anda mungkin menghadapi gelung ubah hala kerana Cloudflare ke hadapan permintaan menggunakan HTTP. Untuk membetulkannya, tambahkan baris berikut pada Middleware anda:
$request->setTrustedProxies([$request->getClientIp()]);
Kumpulan Web (Laravel v5.3 ):
Daripada menambahkannya pada $middleware tatasusunan, anda boleh menambahnya pada kumpulan web dalam Kernel.php:
protected $middlewareGroups = [ 'web' => [ // ... // Custom middleware 'MyApp\Http\Middleware\HttpsProtocol', ], ];
Ingat bahawa kumpulan web digunakan untuk semua laluan secara lalai.
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Memaksa HTTPS dalam Laravel 5 Menggunakan Middleware?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!