Menu adicional

Obtenha o MemberPress hoje mesmo! Comece a ser pago pelo conteúdo que você cria! Obtenha o MemberPress agora

Proteção de arquivos

Observação: Embora essas instruções ainda sejam válidas, desde então lançamos o complemento MemberPress Downloads, que é uma maneira muito mais fácil de carregar e proteger seus arquivos. Clique aqui para ler mais sobre o assunto.

O MemberPress tem alguns recursos poderosos para ajudá-lo a proteger arquivos estáticos. A proteção de arquivos do MemberPress funciona no nível do servidor Web, o que proporciona proteção absoluta de cada arquivo. Por exemplo, mesmo que uma pessoa sem acesso a um arquivo consiga, de alguma forma, obter um link direto para ele, o MemberPress a interromperá e pedirá que ela se registre ou faça login (se já estiver registrada) antes de poder fazer o download do arquivo.

Observação: Essa forma de proteção de arquivos exige que seu servidor use e permita o acesso a arquivos .htaccess. Alguns servidores, especialmente os servidores Ngnix, não o fazem. Se essas etapas não funcionarem em seu site, talvez seja necessário usar nosso Add-on de downloads para proteger os arquivos.

Que tipos de arquivos o MemberPress pode proteger?

O MemberPress pode proteger qualquer arquivo que não seja necessário para o funcionamento adequado de seu site.

Portanto, o MemberPress pode
somente proteger os seguintes tipos de arquivos:

'zip','gz','tar','rar','doc','docx','xls','xlsx','xlsm','pdf','mp4','m4v','mp3','ts','key','m3u8'

Se quiser proteger qualquer tipo de arquivo que não esteja listado acima, recomendamos apenas compactá-los e proteger um único arquivo .zip.

Além disso, você pode adicionar algum código personalizado ao arquivo functions.php do seu tema, se tiver um, ou a um plug-in, o
Código WPC (consulte este artigo para obter detalhes: Como adicionar trechos de código personalizados no WPCode). Aqui está um exemplo desse código:

function add_types_protectable($types, $rules) {
  $types[] = 'csv';
  return $types;
}
add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2);

Depois de adicionar esse código personalizado, você precisará atualizar seus permalinks do WordPress acessando o Painel do WordPress > Configurações > Permalinks > e simplesmente clicando no botão "Salvar alterações" na parte inferior da página. 

Observação: Não recomendamos proteger arquivos PHP, HTML, imagens, javascript, css, fontes ou outros arquivos de sites acessados com frequência, pois isso prejudicará o desempenho.

Voltar ao topo

Proteção de um único arquivo

Se você tiver um arquivo para proteger, veja como fazer isso:

  1. Carregue o arquivo usando o Media Uploader do WordPress.
  2. Crie uma Custom URI Rule para proteger o arquivo.

Digamos que o arquivo que você carregou tinha este URL:
http://example.com/wp-content/uploads/2015/10/report.pdf

A regra que você criaria para esse arquivo seria um tipo de URI personalizado apontando apenas para o caminho (parte após
http://example.com) para o arquivo. Assim, na caixa de texto dessa regra, você digitaria o seguinte:

/wp-content/uploads/2014/12/report.pdf

Embora esse seja um processo relativamente simples para um pequeno número de arquivos, ele pode se tornar demorado se for aplicado a um número maior de arquivos. Portanto, vamos ver como você pode criar uma regra para proteger vários arquivos.

Voltar ao topo

Vários arquivos

Agora, digamos que você tenha 10 arquivos e queira que o mesmo nível de associação tenha acesso a cada um deles.

A ideia aqui é colocar cada arquivo em uma pasta especial com o FTP (recomendado) ou certificar-se de que cada arquivo carregado por meio do Media Uploader tenha um prefixo comum (não recomendado, a menos que o FTP não seja uma opção).

Embora não recomendemos a proteção de vários arquivos carregados usando o Media Uploader do WordPress, entendemos que pode haver ocasiões em que você queira/precise fazer isso. Portanto, se você carregar esses arquivos por meio do Media Uploader, eles terão os seguintes URLs:

http://example.com/wp-content/uploads/2015/10/bronze_report.pdf
http://example.com/wp-content/uploads/2015/10/bronze_report.doc
http://example.com/wp-content/uploads/2015/10/bronze_report.docx
http://example.com/wp-content/uploads/2015/10/bronze_analysis.pdf
http://example.com/wp-content/uploads/2015/10/bronze_analysis.doc
http://example.com/wp-content/uploads/2015/10/bronze_analysis.docx
http://example.com/wp-content/uploads/2015/10/bronze_groupings.pdf
http://example.com/wp-content/uploads/2015/10/bronze_groupings.doc
http://example.com/wp-content/uploads/2015/10/bronze_groupings.docx
http://example.com/wp-content/uploads/2015/10/bronze_archive.zip

Agora, tudo o que você precisa fazer é criar uma regra do tipo Custom URI com esse caminho:

/wp-content/uploads/2015/10/bronze_

Isso protegerá qualquer arquivo na pasta /wp-content/uploads/2015/10/ que tenha um nome que comece com "bronze_".

Voltar ao topo

Vários arquivos com FTP

O FTP/SFTP é uma maneira robusta de transferir arquivos do seu computador local para o seu site. A maioria dos hosts da Web oferece serviços de FTP gratuitos para que você possa acessar os arquivos do seu site remotamente a partir do seu próprio computador. A disponibilidade do FTP pode variar de um host da Web para outro e pode ter requisitos diferentes.

Normalmente, você precisará de um cliente FTP como FileZilla ou Cyberduck para se conectar ao seu servidor via FTP/SFTP. Isso permitirá que você tenha acesso ao sistema de arquivos do seu servidor da Web para criar pastas e fazer upload de arquivos de forma semelhante a como você copiaria arquivos entre pastas no seu próprio computador local.

Neste exemplo, usaremos o FTP para criar uma pasta chamada protected e importar nossos arquivos para ela, de modo que tenhamos os seguintes URLs agora:

Observação: As regras de URI personalizadas não funcionarão para arquivos se o seu site estiver sendo executado em Servidores Nginx. Se você criar a pasta em wp-content/uploads, as regras de URI poderão funcionar para você. Recomendamos o uso da tag MemberPress Complemento para downloads para proteger arquivos em servidores Ngnix. 

http://example.com/protected/report.pdf
http://example.com/protected/report.doc
http://example.com/protected/report.docx
http://example.com/protected/analysis.pdf
http://example.com/protected/analysis.doc
http://example.com/protected/analysis.docx
http://example.com/protected/groupings.pdf
http://example.com/protected/groupings.doc
http://example.com/protected/groupings.docx
http://example.com/protected/archive.zip

Esse cenário pode ser superior ao uso do Media Uploader do WordPress se você estiver planejando adicionar arquivos à sua pasta posteriormente, pois o Media Uploader do WordPress às vezes coloca arquivos carregados em momentos diferentes em pastas diferentes.

Portanto, com esse exemplo, tudo o que você precisa fazer é criar uma regra do tipo URI personalizado com esse caminho (digitado na caixa de texto da regra):

/protected/

Observação: Se isso não funcionar e você estiver em um servidor Apache. Certifique-se de que as regras de reescrita do MemberPress não tenham sido desativadas, acessando MemberPress->Configurações->Geral e desmarcando a opção "Desativar regras de reescrita" e, em seguida, salve as alterações.

Agora vamos dar uma olhada no uso de uma correspondência mais avançada com expressões regulares.

Voltar ao topo

Expressões regulares

Expressões regulares é uma sintaxe de pesquisa exclusiva e descritiva comumente usada em todas as linguagens de programação modernas para selecionar e processar texto. Isso permitirá que você proteja grupos muito específicos de arquivos com facilidade.

A ideia aqui é permitir a correspondência de padrões em um determinado URL e proteger o URL se ele corresponder a uma de suas regras personalizadas do tipo URI com expressão regular ativada.

Por exemplo, no exemplo de FTP acima, se você quiser permitir que alguns usuários tenham acesso apenas aos PDFs e que outros tenham acesso aos arquivos pdf, doc, docx e zip, poderá criar duas regras de expressão regular diferentes: a primeira para um nível de associação e a segunda para outro.

A primeira regra para seu primeiro nível de associação teria um caminho semelhante:

^/protected/.*\.pdf

A segunda regra para seu outro nível de associação teria um caminho semelhante:

^/protected/.*\.(pdf|doc|docx|zip)

É verdade que as expressões regulares podem ser difíceis de dominar, mas elas podem fornecer alguns recursos poderosos de correspondência e proteção de arquivos nas regras do tipo URI personalizadas do MemberPress. Descobrimos que
http://www.regular-expressions.info/ é um bom recurso para quem deseja conhecer essa tecnologia avançada. Além disso, se você tiver necessidades mais complexas, nossa equipe de suporte é bastante competente em descobrir expressões regulares para o que você precisa proteger - portanto, fique à vontade para enviar um solicitação de suporte se você precisar de ajuda com esse recurso.

Voltar ao topo

Explicação das regras de URI do MemberPress

O que você verá no vídeo: uma explicação mais detalhada das Custom URI Rules do MemberPress.

Requisitos técnicos

Como esse recurso utiliza o servidor da Web subjacente do seu site para proteger os arquivos, há alguns requisitos técnicos que devem ser atendidos para que ele funcione corretamente. Escrevemos o MemberPress para funcionar com as configurações de servidor mais comuns que existem, mas se as coisas não estiverem funcionando totalmente para você, aqui estão alguns pontos a serem verificados:

  1. Seu site deve ser servido pelo Apache ou por um servidor da Web compatível com o Apache, como o Litespeed. As regras de reescrita que o MemberPress instala são específicas do Apache. Se não tiver certeza de qual servidor da Web está usando, provavelmente é o Apache, mas para ter certeza, entre em contato com seu host da Web. O MemberPress não oferece suporte à proteção de arquivos em outros servidores da Web, como Nginx, IIS ou outros servidores não baseados no Apache. No entanto, se o seu servidor da Web estiver usando o Nginx como proxy (na frente do Apache), talvez seja possível usar o código de desvio de proxy do Nginx descrito na seção Nginx em esta página.
  2. Sua instalação do WordPress deve ter privilégios suficientes para fazer alterações em seu arquivo .htaccess. Se o seu arquivo .htaccess não puder ser gravado pelo WordPress, você poderá editá-lo manualmente seguindo nosso Instruções avançadas de reescrita.
  3. Sua instalação do WordPress deve ter a capacidade de gravar arquivos na pasta /wp-content/uploads. Isso também é um requisito para que o WordPress Media Uploader faça upload de arquivos, portanto, se ele estiver funcionando, isso também deverá estar funcionando.
  4. A Cloudflare e outras CDNs e o armazenamento em cache podem atrapalhar a proteção de arquivos. Isso ocorre porque eles armazenam o arquivo em cache para que ele não possa ser protegido ou interferem em nossos cookies de proteção e causam loops de redirecionamento infinitos.

Observação: Por isso, se estiver tendo problemas com a proteção de arquivos, desligue qualquer CDN e cache para ver se essa é uma possível causa antes de entrando em contato com nosso suporte.

  1. As Rewrite Rules do MemberPress devem estar ativadas. Vá para MemberPress->Settings->General (Configurações->Geral), desmarque a caixa de seleção "Disable Rewrite Rules" (Desativar regras de reescrita) e salve as alterações.

Também vimos usuários com regras de reescrita personalizadas que interferiram nas regras de reescrita do MemberPress. Portanto, se esse recurso não parecer estar funcionando e você achar que já passou por todas essas etapas, entre em contato com nossa equipe de equipe de suporte e nós o ajudaremos.

Voltar ao topo

Proteger tipos de arquivos adicionais

O MemberPress pode proteger outros tipos de arquivos. Lembre-se de que cada solicitação HTTP de tipo de arquivo protegido causará uma segunda solicitação ao site para verificar se o arquivo está protegido ou não. Por esse motivo, não recomendamos a proteção de arquivos como imagens (jpg, png, gif, etc.), scripts (css, js) ou arquivos de fonte, pois isso poderia causar uma carga significativa em seu servidor.

Use o seguinte código personalizado em um plug-in como o Código WPC para adicionar outros tipos de arquivos. Consulte este artigo para obter detalhes: Como adicionar trechos de código personalizados no WPCode.

O código abaixo adiciona os tipos de arquivo "html" e "htm" à lista de arquivos protegidos. Depois de adicionar esse código, você também precisará atualizar as configurações de permalink do WordPress para forçar o WordPress a atualizar o arquivo .htaccess do seu site.

function add_types_protectable($types, $rules) {
  $types[] = 'htm';
  $types[] = 'html';
  return $types;
}
add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2);
Este artigo foi útil?

Artigos relacionados

garota do computador

Obtenha o MemberPress hoje mesmo!

Comece a ser pago pelo conteúdo que você cria.