Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memaksa HTTPS dalam Aplikasi Laravel?

Bagaimana untuk Memaksa HTTPS dalam Aplikasi Laravel?

Linda Hamilton
Lepaskan: 2024-12-11 15:57:14
asal
1053 orang telah melayarinya

How to Force HTTPS in Laravel Applications?

Ubah hala ke HTTPS dalam Laravel

Dalam Laravel, memaksa HTTPS pada aplikasi anda boleh dicapai dengan menggunakan kelas Middleware. Berikut ialah contoh pelaksanaan:

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); 
    }
}
Salin selepas log masuk

Untuk mengaktifkan middleware ini, tambahkannya pada kumpulan middleware dalam fail Kernel.php:

protected $middleware = [
    // ...
    'MyApp\Http\Middleware\HttpsProtocol'       
];
Salin selepas log masuk

Secara lalai, kumpulan middleware web digunakan ke semua laluan, jadi tiada konfigurasi lanjut diperlukan.

Cloudflare Pertimbangan

Jika anda menggunakan Cloudflare, anda mungkin menghadapi gelung ubah hala. Ini kerana Cloudflare memajukan permintaan HTTP dengan pengepala "X-Forwarded-Proto" yang menunjukkan HTTPS. Untuk menangani perkara ini, tambahkan baris berikut pada perisian tengah anda:

$request->setTrustedProxies([$request->getClientIp()]);
Salin selepas log masuk

Ini mempercayai IP dan pengepala yang disediakan oleh Cloudflare, memecahkan gelung.

Kemas kini untuk Versi Laravel< /h3>

Untuk Laravel versi 5.3 dan seterusnya: Tambahkan kelas perisian tengah ke kumpulan middleware "web" dalam fail Kernel.php.

Untuk Laravel versi 5.7 dan seterusnya:

  • Gunakan App::environment() dan bukannya env('APP_ENV') untuk semakan berasaskan persekitaran.
  • URL::forceScheme('https') tidak mengubah hala tetapi hanya membina pautan dengan HTTPS.

Atas ialah kandungan terperinci Bagaimana untuk Memaksa HTTPS dalam Aplikasi Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan