Redireccionar en HTTPS cuando el usuario está conectado

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

Pase automáticamente en HTTPS para las páginas que contienen informaciones privadas (espacio privado, login, lápices...)

Razones para utilizar HTTPS

Para evitar que las informaciones de conexión circulen claramente en la red, o para impedir la usurpación de identidad, se recomienda proteger algunas páginas de SPIP, en general:

  • el espacio privado
  • la página de login

Pero también es importante proteger las páginas públicas que permiten, de una manera o la otra, modificar la base de datos, por ejemplo con los lápices.

Descripción del plugin

El plugin es muy simple y solo cambia el protocolo de HTTP en HTTPS si:

  • el visitante está conectado (es decir cuando existe un cookie de sesión)

o si

  • la página es la página de login

A notar: el espacio privado está protegido con este plugin porque para acceder al espacio privado hay que estar autenticado, lo que crea el cookie de sesión.

Modificación del core

OjO: para que todo funcione bien, las páginas servidas en HTTP y HTTPS tienen que utilizar un caché diferente, sino todo se mezcla. Si todavía su instalación de SPIP no contiene la modificación http://core.spip.org/projects/spip/repository/revisions/17941, hay que añadirla a la mano:

  • abrir el archivo ecrire/public/assembler.php
  • en la función calculer_contexte_implicite(), añadir la línea con HTTPS para obtener:
            $contexte_implicite = array(
                    'squelettes' => $GLOBALS['dossier_squelettes'],
                    'host' => $_SERVER['HTTP_HOST'],
                    'https' => $_SERVER['HTTPS'],
                    'espace' => test_espace_prive(),
                    'marqueur' => (isset($GLOBALS['marqueur']) ?  $GLOBALS['marqueur'] : ''),
                    'notes' => $notes?$notes('','contexter_cache'):'',
            );

Configuración del servidor web

Para utilizar el plugin, el servidor web (Apache, por ejemplo) tiene que ser configurado para servir los dos protocolos HTTP y HTTPS.

updated on 2 October 2019

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom