Maison >développement back-end >tutoriel php >Comment implémenter la redirection HTTPS dans Laravel 5 à l'aide d'un middleware ?

Comment implémenter la redirection HTTPS dans Laravel 5 à l'aide d'un middleware ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-30 00:58:161011parcourir

How to Implement HTTPS Redirection in Laravel 5 Using Middleware?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn