web-dev-qa-db-fra.com

Comment forcer drupal 7 pour charger les ressources HTTPS?

Environnement: Apache + ssl + accès au domaine

Notre site drupal 7 utilise l'accès au domaine de plusieurs sous-domaines, notre serveur est compatible SSL

si je ne mets pas $ base_url dans settings.php alors tous nos actifs sont chargés via HTTP et l'utilisateur reçoit une erreur de contenu mixte

Si je définis $ base_url, les utilisateurs sont redirigés vers le sous-domaine par défaut (par exemple foo.blah.com) au lieu de leur domaine actuel (par exemple bar.blah.com)

Ma question est, comment puis-je forcer drupal pour charger tous les actifs via HTTPS?

De cette façon, je peux décommenter le #base_url

4
noah

J'ai mis à jour settings.php avec: $ base_url = 'https: //'.$_SERVER [' SERVER_NAME '];

5
noah

si tout (PARAMÈTRES SERVEUR ET Hôte) est ok juste $conf['https'] = TRUE; dans ton settings.php.

selon l'activation de HTTP Secure (HTTPS)

Configuration Drupal:

Si vous souhaitez prendre en charge les sessions HTTPS et HTTP en mode mixte, ouvrez sites/default/settings.php et ajoutez $ conf ['https'] = TRUE ;. Cela vous permet d'utiliser la même session sur HTTP et HTTPS à la fois - mais avec deux cookies où le cookie HTTPS est envoyé uniquement sur HTTPS. Vous aurez besoin d'utiliser des modules contribués comme des pages sécurisées pour faire quoi que ce soit d'utile avec ce mode, comme soumettre des formulaires via HTTPS et ainsi de suite. Bien que votre cookie HTTP soit toujours vulnérable à toutes les attaques habituelles, un cookie de session non sécurisé détourné ne peut être utilisé que pour obtenir un accès authentifié au site HTTP. Il ne sera pas valable sur le site HTTPS. Que ce soit un problème ou non dépend des besoins de votre site et des différentes configurations de modules. Par exemple, si tous les formulaires sont configurés pour passer par HTTPS et que vos visiteurs peuvent voir les mêmes informations que les utilisateurs connectés, ce n'est pas un problème.

Pour une sécurité encore meilleure, laissez $ conf ['https'] à la valeur par défaut (FALSE) et envoyez tout le trafic authentifié via HTTPS et utilisez HTTP pour les sessions anonymes. Une fois de plus, des modules contribués comme Secure Login ou 443 Session peuvent vous aider ici. Drupal 7 active automatiquement la configuration session.cookie_secure PHP sur les sites HTTPS, ce qui entraîne l'émission de cookies de session sécurisés SSL uniquement sur le navigateur. sécurité possible, configurez votre site pour utiliser uniquement HTTPS et répondez à toutes les demandes HTTP avec une redirection vers votre site HTTPS. $ conf ['https'] peut être laissé à sa valeur par défaut (FAUX) sur les sites pur HTTPS. puis, HTTPS est vulnérable aux attaques de l'homme du milieu si la connexion démarre en tant que connexion HTTP avant d'être redirigée vers HTTPS. Utilisez le module HSTS ou définissez l'en-tête Strict-Transport-Security dans votre serveur Web pour empêcher les utilisateurs de accéder au site sans HTTPS.

vous pouvez également utiliser le module Secure Pages

Description du module:

Un petit processus qui redirigera les pages requises vers une version SSL de la page.

Mettre à jour vous pouvez également dans settings.php faire: $base_url = 'https://'.$_SERVER['SERVER_NAME'];.

1
Yusef

Le module Secure Pages fait cela.

Un petit processus qui redirigera les pages requises vers une version SSL de la page.

0
M a m a D