SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 199 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Redirection HTTPS > Rediriger en HTTPS quand l’utilisateur est connecté

Rediriger en HTTPS quand l’utilisateur est connecté

17 juin 2011 – par severo – 17 commentaires

Toutes les versions de cet article : [Español] [français]

13 votes

Passez automatiquement en HTTPS pour les pages contenant des informations privées (espace privé, login, crayons...)

Intérêt d’utiliser HTTPS

Pour éviter que les informations de connexion circulent en clair sur le réseau, ou pour empêcher l’usurpation d’identité, il est de bon ton de protéger certaines pages de SPIP, généralement :

  • l’espace privé
  • la page de login

Mais il est aussi important de protéger les pages publiques qui permettent d’une manière ou de l’autre de modifier la base de données, par exemple avec les crayons.

Fonctionnement du plugin

Le plugin est très simple et change simplement le protocole de HTTP à HTTPS si :

  • le visiteur est connecté (i.e. quand il existe un cookie de session)

ou si

  • la page demandée est la page de login

A noter : l’espace privé est bien protégé puisqu’on ne peut y accéder qu’en s’étant authentifié, ce qui crée le cookie de session.

Configuration du serveur web

Pour utiliser le plugin, il faut évidemment que le serveur web (Apache, par exemple) soit configuré pour servir en HTTP et en HTTPS.

Contenu mixte HTTP et HTTPS

Normalement, SPIP générera toute la page en HTTP, ou en HTTPS, mais pas de contenu mixte. En revanche, les librairies Javascript, par exemple OpenLayers, ou tout autre code ajouté à la main devra gérer HTTP et HTTPS pour éviter ce contenu mixte. Pour cela, il est possible d’ajouter un proxy PHP par exemple.

Voir en ligne : http://plugins.spip.net/redirhttps

P.-S.

Attention : Pour les versions de SPIP antérieures à 2.1.11, vous devez modifier le core. Pour que tout fonctionne bien, les pages servies en HTTP et en HTTPS doivent piocher dans un cache différent, sinon tout se mélange. Si votre installation de SPIP ne contient pas encore la modification http://core.spip.org/projects/spip/repository/revisions/17941, il faut l’ajouter à la main :

  • ouvrir le fichier ecrire/public/assembler.php
  • dans la fonction calculer_contexte_implicite(), ajouter la ligne avec HTTPS pour obtenir :
    1. $contexte_implicite = array(
    2. 'squelettes' => $GLOBALS['dossier_squelettes'],
    3. 'host' => $_SERVER['HTTP_HOST'],
    4. 'https' => $_SERVER['HTTPS'],
    5. 'espace' => test_espace_prive(),
    6. 'marqueur' => (isset($GLOBALS['marqueur']) ? $GLOBALS['marqueur'] : ''),
    7. 'notes' => $notes?$notes('','contexter_cache'):'',
    8. );

    Télécharger

Cette modification est incluse dans le core de spip à partir de 2.1.11, et également dans spip3. La manipulation n’est donc pas nécessaire pour ces dernières versions.

Dernière modification de cette page le 18 janvier 2016

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 17 janvier à 15:42, par Jérôme En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Merci pour ce plugin !

    Nous avons néanmoins eu besoin d’adapter le plugin pour qu’il fonctionne dans le cas d’une installation faite dans un sous-dossier (/site par exemple). Vous trouverez la documentation ici, si vous voulez l’intégrer ! Elle contient également des informations pour que cela fonctionne derrière un reverse proxy.

    Répondre à ce message

  • Le 29 septembre 2016 à 21:22, par Jaseur Boreal En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Bonjour,

    Depuis juillet 2016, TOUS les sites hébergés sur un serveur mutualisé chez OVH ont un certificat SSL (gratuit) activé sur l’hébergement (source).

    Cela signifie qu’il est probable qu’un site chez OVH soit maintenant accessible en HTTPS, même si on n’a rien prévu pour ça.

    Google cherchant à indexer et positionner en priorité la version HTTPS d’une page si elle est disponible, le site pourra être consulté en HTTPS même si on ne l’a pas demandé.

    2 solutions :

    • Soit garder son site en HTTP, pour quelques temps.
      Dans ce cas il est conseillé de désactiver SSL dans les paramètres de l’hébergement OVH, et de mettre en place les redirections HTTPS vers HTTP concernées.
    • Soit migrer complètement vers HTTPS

    Et dans cette situation, le plugin Redirection HTTPS ne redirige que quelques pages si j’ai bien tout compris : « passer automatiquement en HTTPS pour les pages contenant des informations privées (espace privé, login, crayons...) »

    Comment procéder pour passer tout un site Spip 3.1 en https sans erreurs ?

    Quelles sont les précautions à prendre ?

    Merci de vos conseils

    Répondre à ce message

  • Le 17 juillet 2016 à 19:36, par thx11 En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Plugin indispensable ! et bravo
    Cependant et sauf erreur, une fois que l’on s’est connecté tout le site (même les parties en accès public) reste en https et idem après déconnection.
    Dans mon cas c’est génant sur un point précis : j’ai un code de redirection dans une page publique.
    Comment faire pour annuler https juste sur cette page ou cette redirection ?

    Merci par avance

    Répondre à ce message

  • Le 16 mars 2016 à 16:45, par Laëtitia En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Bonjour, j’ ai grand besoin de vos lumières,

    je n’arrive pas à comprendre... le plugin agit seulement sur les pages sensibles du site, mais les autres restent alors en HTTP ?
    Faut il intervenir dans le .htaccess afin que tout le site soit en HTTPS, ou bien avec ce plugin les HTTP et HTTPS cohabitent ?

    Merci d’avance

    Répondre à ce message

  • Le 7 juillet 2015 à 15:54, par V1nc3 En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Merci pour ce plugin, il répond à un besoin que j’avais.
    Toutefois il réagit très mal avec les sous-domaines apparemment. Je ne sais pas où regarder dans le code source du plugin mais il semble qu’il redirige vers la racine du serveur lorsqu’il est activé et lorsqu’il passe en mode https. Il devient pour ma part inutilisable avec un spip en sous domaine et/ou un spip installé dans un sous-répertoire de l’hébergement.

    Je précise que dans mon cas il y avait deux spip en 3.0.17 :
    -  Un en sous-domaine et en sous-répertoire qui possédait le plugin activé.
    -  Un en répertoire proncipal (à la racine) et en nom de domaine principal sans le plugin activé ni installé.
    Résultat : lorsque je me connectais sur le backoffice spip du sous-domaine, je basculais en fait vers le spip du domaine principal (alors que dans la barre d’adresse j’avais toujours l’url du sous domaine).

    J’espère que ce petit bug pourra être reproduit et corrigé de votre côté...

    Répondre à ce message

  • Le 17 septembre 2014 à 12:10, par Rainer Müller En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Bonjour,

    un petite question un peu hors sujet.
    Sur un site avec spip 3.0.17. Le theme du site avec son css et webfonts se trouvent dans un plugin.

    En http le tout fonctionne bien. Si je bascule en https le webfont provoquent des erreurs « mixed content » et les web-fonts sont bloqués.

    Si j’active le présent plugin cela marche seulement quand je suis connecté mais pas quand je me déconnecte.

    Si je regarde le code de ce plugin je voie qu’il utilise la redirection de spip : redirige_par_entete('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);"

    est-ce la seule manière d’éviter de problème de « mixed content » si on utilise https avec spip ?

    car avec

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}"

    les erreurs « mixed content » persistent ?

    Cordialement
    Rainer

    • Le 7 juillet 2015 à 15:46, par V1nc3 En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

      Bonjour,
      Je ne sais pas si cela t’aidera mais ne serait-il pas mieux de mettre le chemin du webfont vers sa version https?
      Concrètement dans ton css au lieu d’avoir par exemple :

      Tu peux modifier en :

      Comme cela ton navigateur n’aura pas deux contenus (http et https)...
      Il faut pour cela modifier la css qui gère cette webfont.

    Répondre à ce message

  • Le 16 novembre 2013 à 15:14, par Ign En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Bonjour,

    Je ne pense pas que vous ayez prévu le cas des identifications tout en restant sur le site public comme avec #LOGIN_PUBLIC par exemple ou les formulaires maisons.

    ça envoie un POST sur / (POST / HTTP/1.1)
    Content-Type : application/x-www-form-urlencoded

    formulaire_action=login&formulaire_action_args=XXX&var_login=redacteur&nothing=&password=XXX

    La difficulté c’est le formulaire se charge généralement avec la première page du site qu’on ne peut pas passer en https (sinon autant passer tout le site en https)

    Une idée ?

    • Le 16 novembre 2013 à 15:35, par severo En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

      Effectivement, je n’avais pas prévu ça. On peut penser à plusieurs solutions :

      • toute la page en https
      • seulement mettre un lien vers la page de login
      • charger #LOGIN_PUBLIC par ajax, et en https.

    Répondre à ce message

  • Le 24 octobre 2012 à 13:54, par Sylvain Nogues En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Bonjour,
    ce plugin permet-il de rediriger en https les accès aux éléments restreints par le plugin « accès restreint » ?
    merci,
    Sylvain

    Répondre à ce message

  • Le 3 septembre 2012 à 15:13, par Jerome En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Bonjour,
    Je viens de l’activer et je n’ai plus accès à la page de login. J ’ai l’erreur :
    Erreur de connexion SSL
    Impossible d’établir une connexion sécurisée avec le serveur. Le serveur a peut-être rencontré un problème ou exige un certificat d’authentification du client dont vous ne disposez pas.
    Erreur 107 (net::ERR_SSL_PROTOCOL_ERROR) : Erreur de protocole SSL

    Comment le desactiver sans l’acces à l’espace privé ?
    Merci

    • Le 3 septembre 2012 à 15:21, par severo En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

      Ah oui c’est embêtant.

      Le plus simple c’est de commenter le contenu du fichier redirhttps_options.php du plugin. Ou encore plus simple, renommer le fichier pour qu’il ne soit plus pris en compte.

    Répondre à ce message

  • Le 18 juillet 2012 à 18:11, par Fred En réponse à : Rediriger en HTTPS quand l’utilisateur est connecté

    Merci pour ta réactivité.

    Je vais retenter le coup dès que le nouveau zip est disponible.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Einsteiniumist (Squelette)

    23 avril 2013 – 81 commentaires

    Un squelette principalement conçu pour les sites de type blog et portfolio. Présentation : Adaptation pour Zpip du thème Wordpress Einsteiniumist conçu par Padd Solutions. Voir une démo du thème et du squelette Einsteiniumist. Ce squelette (...)

  • Plugin séances

    10 octobre 2010 – 85 commentaires

    Dans la gestion d’événements, il arrive d’avoir à mettre en rapport un spectacle (film, concert ou autre), un lieu et une date. Il est alors possible d’envisager plusieurs modes de présentation : pour un spectacle donné, les dates et lieux de celui-ci, (...)

  • Champs Extras 3

    16 janvier 2012 – 588 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Plugin Domlang : Domaines par secteur de langue

    4 septembre – commentaires

    Domlang est un plugin qui permet d’associer un nom de domaine ou un sous-domaine à un secteur de langue. Ce plugin convient pour un site qui utilise des secteurs de langues. En configuration, pour chaque secteur, vous pourrez définir une URL (...)

  • Plugin Speedsyndic 2

    11 octobre 2010 – 24 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, ajouter une (...)

Ça spipe par là