Dans Laravel 5, la mise en œuvre de la redirection HTTPS implique l'utilisation soit d'un middleware, soit d'un écouteur d'événements. Un middleware est une approche plus propre et plus simple.
Créez une classe de middleware :
namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\App; class HttpsProtocol { public function handle(Request $request, Closure $next) { if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Enregistrez le middleware dans le fichier Kernel.php :
protected $middleware = [ // Other middleware 'App\Http\Middleware\HttpsProtocol', ];
Si vous utilisez Cloudflare, vous pourriez rencontrer boucles de redirection. Ajoutez la ligne suivante à votre middleware :
$request->setTrustedProxies([$request->getClientIp()]);
Cela fait confiance aux en-têtes que CloudFlare envoie, empêchant ainsi la boucle de redirection.
Dans les versions précédentes de Laravel, env('APP_ENV') === 'production' a été utilisé. Dans Laravel 5.7 et versions ultérieures, remplacez-le par App::environment() === 'production'.
La mise en œuvre de la redirection HTTPS avec un middleware ou des écouteurs d'événements vous permet de forcer les connexions HTTPS pour votre application Laravel. N'oubliez pas de prendre en compte les paramètres Cloudflare si nécessaire et d'ajuster la redirection sensible à l'environnement en conséquence.
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!