This document is for CakePHP's development version, which can be significantly different
from previous releases.
You may want to read
current stable release documentation instead.
Si vous voulez que votre application soit accessible uniquement par des
connexions HTTPS, vous pouvez utiliser le HttpsEnforcerMiddleware
:
use Cake\Http\Middleware\HttpsEnforcerMiddleware;
// Toujours soulever une exception et ne jamais rediriger.
$https = new HttpsEnforcerMiddleware([
'redirect' => false,
]);
// Envoyer un code de statut 302 en cas de redirection
$https = new HttpsEnforcerMiddleware([
'redirect' => true,
'statusCode' => 302,
]);
// Envoyer des headers supplémentaires dans la réponse de redirection.
$https = new HttpsEnforcerMiddleware([
'headers' => ['X-Https-Upgrade' => 1],
]);
// Désactiver le HTTPs forcé quand ``debug`` est activé.
$https = new HttpsEnforcerMiddleware([
'disableOnDebug' => true,
]);
À la réception d’une requête non-HTTP qui n’utilise pas GET, un
BadRequestException
sera soulevée.
Si votre application nécessite du SSL, une bonne idée serait de définir le
header Strict-Transport-Security
. La valeur de ce header est mise en cache
par le navigateur, et informe les navigateurs qu’ils devraient toujours se
connecter en HTTPS. Vous pouvez configurer ce header avec l’option hsts
:
$https = new HttpsEnforcerMiddleware([
'hsts' => [
// La durée pendant laquelle la valeur du header devrait être mise en cache
'maxAge' => 60 * 60 * 24 * 365,
// cette politique s'applique-t-elle aux sous-domaines ?
'includeSubdomains' => true,
// La valeur de ce header devrait-elle être mise en cache dans le service
// HSTS preload de Google ? Bien que ne faisant pas partie de la spécification, il est souvent implémenté.
'preload' => true,
],
]);
.. meta::
:title lang=fr: Middleware HTTPS Enforcer