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
Libérer: 2024-12-30 00:58:16
original
1010 Les gens l'ont consulté

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);
    }
}
Copier après la connexion

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'
];
Copier après la connexion

3. Configurer pour Cloudflare

Si vous utilisez Cloudflare, ajoutez la ligne suivante à votre Middleware :

$request->setTrustedProxies([$request->getClientIp()]);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal