Proteger archivos en Memberpress

Cuando tienes un sitio web de membresía, la seguridad y protección de contenidos es un punto importante para evitar que aquellas personas que no tienen acceso, puedan descargar contenido de valor que alojas en tu web. Por eso, en el siguiente artículo te voy a mostrar 2 formas diferentes de proteger archivos en Memberpress.

Ningún “membership site” está completamente a salvo de las descargas no autorizadas. Sin embargo, gracias a Memberpress es posible proteger tus archivos estáticos – de descarga directa – de forma 100% segura ya que trabaja a nivel de servidor.

Imagina que alguien que sí tiene acceso a la membresía decide compartir un enlace con un tercero que no tiene acceso. O que se hayan indexado en Google algún pdf o documento. De nuevo, aplicando estas técnicas, quien hiciese clic descubriría que sería redirigido a la página de compra/registro de la membresía.

Qué tipos de archivo protege MemberPress

En primer lugar debes saber que, Memberpress solo puede proteger los siguientes tipos de archivos: zip, gz, tar, rar, doc, docx, xls, xlsx, xlsm, pdf, mp4, m4v, mp3, ts, key, m3u8.

Sin embargo, existe la posibilidad de ampliar la protección a otros tipos de archivos añadiendo un filtro dentro del archivo functions.php:

function protege_mas_extensiones($types, $rules) {
  $types[] = 'psd';
  // añade aquí más extensiones de archivo de la siguiente forma:
  // $types[] = 'mov';
  
  return $types;
}
add_filter('mepr_rewrite_rules_protect_types', 'protege_mas_extensiones', 11, 2);

No olvides que, una vez añadido este código, necesitas guardar de nuevo la configuración de enlaces permanentes (Ajustes > Enlaces permanentes) para forzar la actualización del archivo .htaccess.

Importante: ten en cuenta que cada petición a estos tipos de archivo protegidos causa una segunda petición http para comprobar si el archivo está protegido o no. Por ese motivo, no se recomienda proteger archivos de imagen – png, jpg – ,scripts – js, css -, .html o .php, al traducirse en una sobrecarga de tu servidor.

Reglas para proteger archivos

Si por ejemplo quieres proteger un único archivo o un número reducido de ellos, puedes crear una regla de Memberpress de la siguiente forma:

  • Sube un archivo a Medios y obten la ruta completa. Ej. https://site.es/wp-content/uploads/file.pdf
  • Crea una regla de “Custom URI” e indica la url relativa sin el dominio. Ej. /wp-content/uploads/file.pdf
  • Asígnale la membresía que lo protegerá.
Proteger un archivo con regla “custom uri” de Memberpress

Claro, para unos pocos archivos, es una opción ideal. Pero ¿Qué ocurre cuando lo que tienes que hacer es proteger 100, 200 o más archivos? El método deja de ser práctico. En este caso tenemos varias posibilidades aunque la planificación antes de estructurar tus contenidos es muy importante.

Protección de archivos subidos en Medios

En el caso de que la subida ftp no sea una opción, podrías añadir un prefijo a todos los archivos que vas a subir. Ej: mp-ejercicio-01.pdf, mp-doc.pdf, mp-plantilla.zip, etc. Es decir, todos los archivos que vas a proteger dentro de una misma membresía tienen el mismo prefijo “mp-“. Por lo tanto, podrías hacerlo de la siguiente forma:

  • Sube un archivo a Medios y conserva la ruta relativa. Ej. /wp-content/uploads/mp-doc.pdf
  • Crea una regla de “Custom URI” e indica solo el comienzo del archivo. Ej. “mp-“.
  • Asígnale la membresía que lo protegerá.
Proteger archivos de forma masiva en Memberpress.

Protección masiva vía FTP

Si tienes esta posibilidad, quizá sea la más acertada para proteger gran cantidad de archivos. FTP y SFTP es quizá la forma más practica de subir gran cantidad de archivos a tu servidor web. Especialmente, si tienes múltiples membresías habilitadas en tu web que protejan un número elevado de archivos cada una de ellas. Vamos a proceder de la siguiente forma

  • Se trata de crear una carpeta que por ejemplo llames “privado” y dentro de ella creas tantas carpetas como membresías tengas. Si solo tienes una, pues trabaja directamente con la carpeta privada. Debe crearla en el directorio donde tengas la instalación de WordPress o en un nivel superior.
  • Ahora puedes crear una regla que protega solo esta carpeta.
Proteger una carpeta de archivos con MemberPress.

Expresiones regulares

Las Expresiones regulares son una sintaxis de búsqueda única y descriptiva que se utiliza comúnmente en todos los lenguajes de programación modernos para seleccionar y procesar texto. Gracias a ellas, aunque supone un conocimiento un poco más avanzado, podrás proteger conjuntos específicos de archivos de forma más fácil.

La idea de emplear expresiones regulares para proteger archivos en memberpress es que te permite hacer coincidir patrones en una URL dada y proteger la URL si coincide con una de las Reglas de tipo URI personalizadas con la expresión regular habilitada.

Si tomamos el ejemplo anterior del ftp, quizá quieras permitir que dentro de la carpeta “privada” solo algunos usuarios tengan acceso a los pdfs y otros, tengan acceso a tus archivos pdf, doc, docx y zip. Por eso, puedes crear 2 reglas de expresión regular diferentes:

La primera Regla para su primer nivel de membresía tendría un camino de algo así como:

^/privada/.*\.pdf

Mientras la seguinda, sería de esta otra forma:

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

Recuerda habilitar en tu regla la casilla de expresión regular. Traducida de forma un tanto especial como “Expresión corriente” 🙂

Proteger archivos en memberpress con expresiones regulares.

Consideraciones técnicas

Tu sitio web debe ser un servidor Apache o compatible como Litespeed. Las reglas de reescritura que instala MemberPress son específicas de Apache.

MemberPress no soporta la protección de archivos en otros servidores web como nginx, IIS u otros servidores no basados en Apache.

La instalación de WordPress debe tener privilegios suficientes para realizar cambios en el archivo .htaccess.

WordPress debe tener la capacidad de escribir archivos en la carpeta /wp-content/uploads.

Cloudflare y otras CDN’s y caching tienden a interferir en la protección de archivos. Esto se debe a que pueden almacenar en caché el archivo para que no ser protegido o interfieren con las cookies de protección provocando bucles de redirección infinitos.

Memberpress Download Add-on

MemberPress Downloads Add-on proporciona un control de acceso y seguimiento de los archivos PDF, archivos zip y otros archivos que compartes dentro de la membresía.

Con MemberPress Downloads puede cargar fácilmente varios archivos, etiquetarlos o categorizarlos y listarlos con un solo shortcode. Incluso puede proteger tus archivos con Reglas de MemberPress.

Instalación

En primer lugar, deberás tener instalada tu licencia de Memberpress para poder descargar y activar Memberpress Downloads.

Descargar y Activar Memberpress Download.

Una vez instalado y activado el complemento, deberías poder ver un elemento nuevo en la barra lateral del escritorio:

Interfaz Memberpress Download

Añadir nuevas descargas

Hacemos clic en “Añadir nueva”, nos permite subir el archivo. Posteriormente, tendrás que darle un nombre, o incluso clasificar la descarga dentro de categorías y etiquetas que es una de las opciones más potentes de este add-on:

Subida de archivo en MP Downloads.

Un gran inconveniente que tiene MP Download es que no permite la subida masiva de archivos 🙁 ¡Esperemos que lo mejoren pronto!

Una vez que has subido tu archivo, volviendo al menu “Files”, podrás copiar directamente el shortcode de descarga del archivo específico.

Quedando de la siguiente forma:

[mpdl-file-link file_id=18]

Proteger descargas

Al igual que hacías con las reglas para protección de archivos, también puedes proteger las descargas de MP Downloads Add-on.

Proteger Descargas con Reglas Memberpress.

Shortcodes para Memberpress Downloads

MP Downloads Add-on incorpora una serie de shortcodes que ayudarán a gestionar más facilmente los archivos que pones a disposición de los miembros de tu web.

  • [mpdl-file-link]. Que lo vimos con anterioridad y permite enlazar las descargas de forma individual.
  • [mpdl-file-links]. Que te permite crear listas de archivos para descarga. Se pueden agrupar las descargas por categorías o por etiquetas. Aquí tienes unos ejemplos:
[mpdl-file-links tag="miembros-gold"]

[mpdl-file-links category="pdfs"]

Aquí tienes un vídeotutorial en el que te explicamos cómo hacerlo:

Pues eso es todo. Esperamos que haya sido de utilidad y le saques todo el partido para evitar las descargas no autorizadas de tu sitio de membresía creado con Memberpress.

Si te pareció interesante, dale amor en forma de 5 estrellitas.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)

Y si quieres compartirlo con colegas de trabajo y amigos, también puedes compartir en tus rede sociales:

EscuelaPress

Crea tu escuela online con nosotros


Hola, me llamo Ángel Cano y tengo casi 20 años de experiencia en el universo digital, de los que casí 10 he dedicado directa o indirectamente a WordPress. En los últimos 5 años me he especializado en Escuelas online, membresías y comunidades online.


Responsable del fichero: Mundo Funnel. Finalidad: Gestionar tu alta a esta suscripción y enviar publicaciones así como alguna oferta de productos o servicios propios y de terceros. La Legitimación: tu consentimiento. Destinatarios: tus datos se encuentran alojados en mi plataforma de email marketing ActiveCampaign (nuestro proveedor de email marketing) a través de su empresa ActiveCampaign, LLC., ubicada en EEUU y que se acoge al acuerdo de seguridad EU-US privacy (Ver política de privacidad de ActiveCampaign). Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a hola@mundofunnel.pro o ante la Autoridad de Control. Encontrarás más información en nuestra Política de privacidad.

Responsable del fichero: Mundo Funnel. Finalidad: Gestionar tu alta a esta suscripción y enviar publicaciones así como alguna oferta de productos o servicios propios y de terceros. La Legitimación: tu consentimiento. Destinatarios: tus datos se encuentran alojados en mi plataforma de email marketing ActiveCampaign (nuestro proveedor de email marketing) a través de su empresa ActiveCampaign, LLC., ubicada en EEUU y que se acoge al acuerdo de seguridad EU-US privacy (Ver política de privacidad de ActiveCampaign). Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a hola@mundofunnel.pro o ante la Autoridad de Control. Encontrarás más información en nuestra Política de privacidad.

Responsable del fichero: Mundo Funnel. Finalidad: Gestionar tu alta a esta suscripción y enviar publicaciones así como alguna oferta de productos o servicios propios y de terceros. La Legitimación: tu consentimiento. Destinatarios: tus datos se encuentran alojados en mi plataforma de email marketing ActiveCampaign (nuestro proveedor de email marketing) a través de su empresa ActiveCampaign, LLC., ubicada en EEUU y que se acoge al acuerdo de seguridad EU-US privacy (Ver política de privacidad de ActiveCampaign). Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a hola@mundofunnel.pro o ante la Autoridad de Control. Encontrarás más información en nuestra Política de privacidad.