Dans Laravel 5, vous pouvez appliquer HTTPS pour votre application à l'aide d'une classe Middleware. Voici comment y parvenir :
Classe de middleware :
namespace MyApp\Http\Middleware; use Closure; class HttpsProtocol { public function handle($request, Closure $next) { if (!$request->secure()) { return redirect()->secure($request->getRequestUri()); } return $next($request); } }
Application du middleware :
L'étape suivante est pour appliquer ce Middleware à toutes les requêtes entrantes. Dans le fichier Kernel.php, ajoutez-le au tableau $middleware :
protected $middleware = [ // Existing middleware... // Custom middleware 'MyApp\Http\Middleware\HttpsProtocol', ];
Validation de l'environnement de production :
Le middleware fourni redirige toutes les requêtes HTTP vers HTTPS, mais vous souhaiterez peut-être limiter ce comportement aux environnements de production uniquement. Vous pouvez le faire en vérifiant l'environnement de l'application :
if (!$request->secure() && App::environment() === 'production') { return redirect()->secure($request->getRequestUri()); }
Considérations sur Cloudflare :
Si vous utilisez Cloudflare, vous pouvez rencontrer une boucle de redirection car Cloudflare transfère requêtes utilisant HTTP. Pour résoudre ce problème, ajoutez la ligne suivante à votre Middleware :
$request->setTrustedProxies([$request->getClientIp()]);
Groupe Web (Laravel v5.3) :
Au lieu de l'ajouter au $middleware tableau, vous pouvez l'ajouter au groupe Web dans Kernel.php :
protected $middlewareGroups = [ 'web' => [ // ... // Custom middleware 'MyApp\Http\Middleware\HttpsProtocol', ], ];
N'oubliez pas que le groupe Web est appliqué à toutes les routes par par défaut.
Remarques supplémentaires :
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!