Pages protégées
Vous pouvez mettre un mot de passe sur n'importe quelle page ou post. Les visiteurs voient un écran de mot de passe ; les lecteurs qui connaissent le mot de passe obtiennent le contenu. Cette page explique comment protéger une page (le « gating »), ce que la « protection par mot de passe » protège réellement, et les règles qui l'accompagnent.
Protéger une page ou un post
Dans l'éditeur, ouvrez la section Security :
- Tapez un mot de passe dans le champ Set password. La ligne de statut vous indique si l'élément est actuellement protégé.
- Enregistrez.
Pour retirer un mot de passe, cochez Clear password (l'option apparaît une fois qu'un mot de passe est défini) et enregistrez. Pour changer un mot de passe, tapez-en un nouveau et enregistrez : l'ancien est remplacé.
À quoi ressemble la barrière pour les visiteurs
Une page protégée affiche un écran simple : « This content is password protected, » avec un champ de mot de passe et un bouton Unlock. Quand le bon mot de passe est saisi :
- Le contenu est révélé immédiatement, sans rechargement de page.
- Le déblocage est mémorisé pour le reste de la session du navigateur : si le visiteur ouvre à nouveau la page dans cet onglet, elle reste débloquée. Une nouvelle session redemande le mot de passe.
- Chaque page protégée a son propre mot de passe : débloquer l'une ne débloque pas les autres. Si vous utilisez le même mot de passe sur plusieurs pages, cela fonctionne, mais rien n'est partagé automatiquement entre onglets.
Ce que la protection est, et n'est pas
Il est important de comprendre cela avant d'en dépendre :
- La barrière est un écran orienté lecteur, pas une boîte verrouillée. Le contenu de la page est toujours présent dans le HTML de la page publiée ; la barrière est un JavaScript qui le cache jusqu'à ce que le bon mot de passe soit saisi.
- Un lecteur qui connaît le mot de passe entre ; une personne déterminée qui inspecte la source de la page peut aussi trouver le texte protégé. Considérez la barrière comme un moyen de cacher le contenu aux lecteurs occasionnels, pas comme un coffre. Pour des documents réellement confidentiels, téléversez plutôt des documents privés via le module Documents (les documents prennent en charge un véritable contrôle d'accès par token, avec expiration et limites de téléchargement).
- Moteurs de recherche : les pages protégées sont exclues du sitemap où elles apparaîtraient sinon, ce qui les tient à l'écart des soumissions sur les surfaces de recherche du site lui-même, mais le contenu lui-même reste dans la source de la page, comme ci-dessus.
Le contrat du thème
Parce que la barrière est implémentée par votre thème (le thème par défaut livré l'inclut), elle n'apparaît que sur les templates qui la prennent en charge :
- Les templates de page et de post du thème par défaut implémentent la barrière.
- Si vous développez ou installez un thème personnalisé qui n'enveloppe pas le contenu dans la barrière, le contenu protégé sera rendu publiquement sans barrière visible : le système vérifie cela et vous avertira quand un template dont le contenu protégé dépend perd sa barrière (« its password gate will stop rendering on the next rebuild »), vous donnant une chance de corriger le thème avant que la reconstruction n'arrive.
Gestion des mots de passe sous le capot (pour les curieux)
- Les pages stockent le mot de passe comme un digest SHA-256 simple ; les posts utilisent un digest PBKDF2 salé (100 000 itérations). La barrière livrée vérifie les deux formats dans le navigateur.
- Les tentatives de mot de passe erroné affichent « Incorrect password. » Il n'y a pas de verrouillage sur la barrière elle-même : elle s'exécute entièrement dans le navigateur du visiteur et n'envoie jamais le mot de passe au serveur, donc personne ne peut l'attaquer en dehors de votre serveur.
- Le statut débloqué vit uniquement dans le session storage du navigateur ; rien au sujet du mot de passe ne persiste côté serveur après la création du hash initial, et rien n'est stocké au sujet des visiteurs.
Interaction avec le reste du site
- Les pages et posts protégés sont exclus du sitemap généré, ils ne devraient donc pas apparaître dans les moteurs de recherche sauf s'ils sont liés depuis ailleurs.
- Les listings, flux et la recherche publique excluent le contenu protégé de la sortie publique, donc il n'apparaîtra pas dans le contenu « lié » du site.
- La barrière fonctionne de la même manière dans chaque langue : chaque version linguistique de la page a sa propre barrière et peut avoir son propre mot de passe (ou en partager un).