Páginas Protegidas
Você pode colocar uma senha em qualquer página ou post. Os visitantes veem uma tela de senha; os leitores que sabem a senha recebem o conteúdo. Esta página explica como bloquear uma página, contra o que a “proteção por senha” realmente protege e as regras que vêm com ela.
Bloqueando uma página ou post
No editor, abra a seção Segurança (Security):
- Digite uma senha no campo Definir senha (Set password). A linha de status informa se o item está atualmente protegido.
- Salve.
Para remover uma senha, marque Limpar senha (Clear password) (a opção aparece quando uma senha está definida) e salve. Para trocar uma senha, digite uma nova e salve: a antiga é substituída.
Como o bloqueio aparece para os visitantes
Uma página protegida mostra uma tela simples: “This content is password protected,” com um campo de senha e um botão Unlock. Quando a senha correta é inserida:
- O conteúdo é revelado imediatamente, sem recarregar a página.
- O desbloqueio é lembrado pelo resto da sessão do navegador: se o visitante abrir a página de novo nesta aba, ela continua desbloqueada. Uma nova sessão pede a senha novamente.
- Cada página protegida tem sua própria senha: desbloquear uma não desbloqueia as outras. Se você usar a mesma senha em várias páginas, isso funciona, mas nada é compartilhado automaticamente entre abas.
O que a proteção é, e o que não é
É importante entender isso antes de confiar nela:
- O bloqueio é uma tela voltada ao leitor, não uma caixa trancada. O conteúdo da página ainda está presente no HTML da página publicada; o bloqueio é um JavaScript que o esconde até que a senha correta seja inserida.
- Um leitor que sabe a senha entra; uma pessoa determinada que inspeciona o código-fonte da página também pode encontrar o texto bloqueado. Trate o bloqueio como esconder conteúdo de leitores casuais, não como um cofre. Para documentos genuinamente confidenciais, envie documentos privados pelo módulo de Documentos (os documentos suportam controle de acesso real baseado em tokens com expiração e limites de download).
- Mecanismos de busca: páginas protegidas são excluídas do sitemap em que de outro modo apareceriam, o que as mantém fora das submissões da própria superfície de busca do site, mas o conteúdo em si ainda está no código-fonte da página, como acima.
O contrato com o tema
Como o bloqueio é implementado pelo seu tema (o tema padrão fornecido o inclui), ele aparece apenas em templates que o suportam:
- Os templates de página e post do tema padrão implementam o bloqueio.
- Se você desenvolver ou instalar um tema personalizado que não envolva o conteúdo no bloqueio, o conteúdo protegido será renderizado publicamente sem nenhum bloqueio visível; o sistema verifica isso e o avisará quando um template de que conteúdo protegido depende perder seu bloqueio (“seu gate de senha deixará de renderizar no próximo rebuild”), para que você tenha a chance de corrigir o tema antes que o rebuild entre em vigor.
Tratamento de senha por baixo dos panos (para os curiosos)
- As páginas armazenam a senha como um digest SHA-256 simples; os posts usam um digest PBKDF2 com salt (100.000 iterações). O bloqueio fornecido verifica ambos os formatos no navegador.
- Tentativas com senha errada mostram “Incorrect password.” Não há bloqueio (lockout) no próprio gate: ele roda inteiramente no navegador do visitante e nunca envia a senha ao servidor, então ninguém pode atacá-lo a partir do seu servidor.
- O status de desbloqueado vive apenas no armazenamento de sessão do navegador; nada sobre a senha persiste no servidor depois que o hash inicial é criado, e nada é armazenado sobre os visitantes.
Interação com o resto do site
- Páginas e posts protegidos são excluídos do sitemap gerado, então não deveriam aparecer em mecanismos de busca a menos que sejam linkados de outro lugar.
- Listagens, feeds e a busca pública excluem o conteúdo protegido da saída pública, então ele não aparecerá em conteúdo “relacionado” no site.
- O bloqueio funciona da mesma forma em todo idioma: cada versão de idioma da página tem seu próprio bloqueio e pode ter sua própria senha (ou compartilhar uma).