Laravel 5 : Implémentation de la redirection HTTPS avec un middleware
Dans Laravel 5, l'application de l'accès HTTPS pour votre application peut être réalisée à l'aide d'un middleware. Voici un guide étape par étape sur la façon d'y parvenir :
1. Créer une classe Middleware
Commencez par créer une nouvelle classe Middleware :
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. Appliquer le middleware aux requêtes
Ensuite, enregistrez le middleware sur app/Http/Kernel.php en l'ajoutant au tableau $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. Configurer pour Cloudflare
Si vous utilisez Cloudflare, ajoutez la ligne suivante à votre Middleware :
$request->setTrustedProxies([$request->getClientIp()]);
4. Gérer les exceptions dans Laravel v5.7
Dans Laravel v5.7, la redirection des requêtes non HTTPS à l'aide de URL::forceScheme('https') ne redirige plus la requête. Pour assurer une redirection appropriée, utilisez la méthode décrite ci-dessus.
Conclusion
En implémentant ce Middleware, vous pouvez forcer l'accès HTTPS pour votre application Laravel 5, même dans les situations où seuls des domaines spécifiques utilisent SSL. Cette approche est flexible et permet une personnalisation en fonction de vos besoins et de votre environnement spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!