Menú adicional

¡Consiga MemberPress hoy mismo! ¡Empieza a cobrar por los contenidos que creas! Obtenga MemberPress ahora

Protección de archivos

Nota: Aunque estas instrucciones siguen siendo válidas, desde entonces hemos lanzado el Complemento de Descargas MemberPress, que es una forma mucho más sencilla de subir y proteger tus archivos. Haga clic aquí para leer más.

MemberPress cuenta con potentes funciones que te ayudan a proteger los archivos estáticos. La protección de archivos de MemberPress funciona a nivel del servidor web, lo que garantiza una protección absoluta de cada archivo. Por ejemplo, aunque una persona sin acceso a un archivo consiguiera de alguna manera obtener un enlace directo al mismo, MemberPress le impediría el acceso y le pediría que se registrara o iniciara sesión (si ya se ha registrado) antes de permitirle descargar ese archivo.

Nota: Esta forma de protección de archivos requiere que su servidor utilice y permita el acceso a los archivos .htaccess. Algunos servidores, especialmente los servidores Ngnix, no lo hacen. Si estos pasos no funcionan en su sitio es posible que tenga que utilizar nuestro Descargas Add-On para proteger los archivos.

¿Qué tipos de archivos puede proteger MemberPress?

MemberPress puede proteger cualquier archivo que no sea necesario para el correcto funcionamiento de su sitio web.

Por lo tanto, MemberPress puede sólo proteger los siguientes tipos de archivos:

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

Si desea proteger cualquier tipo de archivo que no figure en la lista anterior, le recomendamos que los comprima y proteja un único archivo .zip.

Además, puedes añadir código personalizado al archivo functions.php de tu tema, si lo tienes, o a un plugin que
WPCode (consulte este artículo para obtener más información: Cómo añadir fragmentos de código personalizados en WPCode). He aquí un ejemplo de ese código:

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

Una vez añadido ese código personalizado, tendrás que actualizar los enlaces permanentes de WordPress accediendo al panel de control de WordPress > Ajustes > Enlaces permanentes > y haciendo clic simplemente en el botón ‘Guardar cambios’ que aparece al final de esa página. 

Nota: No recomendamos proteger los archivos PHP, HTML, imágenes, JavaScript, CSS, fuentes u otros archivos del sitio web a los que se accede con frecuencia, ya que esto perjudicará el rendimiento.

Volver arriba

Explicación de las reglas URI personalizadas de MemberPress

Las reglas URI personalizadas llenan los vacíos donde las reglas estándar se quedan cortas, garantizando una protección integral de los contenidos en todo su sitio.

Casos de uso común

Reglas URI personalizadas proteger el contenido al que no llegan las reglas estándar MemberPress. A diferencia de las reglas habituales, que funcionan a través del procesamiento de contenido de WordPress, las reglas de URI personalizadas protegen las URL directamente a nivel del servidor.

1. Páginas especiales de WordPress

Las reglas de página estándar no afectan a páginas especiales como la página de inicio, la página de entradas, los archivos de categorías o las páginas de archivo. Utiliza reglas de URI personalizadas para proteger estas áreas, seleccionando sus URL específicas.

2. Contenido del constructor de páginas

Las reglas estándar de MemberPress sólo protegen el contenido añadido a través de la función de contenido de WordPress (la función el_contenido() ). Muchos creadores de páginas y temas muestran su contenido fuera de esta función.

En consecuencia, el contenido renderizado de esta forma permanecerá desprotegido cuando se apliquen las reglas MemberPress estándar. En su lugar, puedes utilizar reglas URI personalizadas para proteger toda la página o entrada.

3. Protección de directorios

También puede proteger varios archivos de forma eficaz seleccionando directorios enteros con una única regla utilizando comodines (por ejemplo, /descargas/*).

Proteger un único archivo

Si tienes un solo archivo que proteger, así es como lo harías:

  1. Suba el archivo utilizando el cargador de medios de WordPress.
  2. Cree una regla URI personalizada para proteger el archivo.

Digamos que el archivo que subiste tenía esta URL:
http://example.com/wp-content/uploads/2015/10/report.pdf

La regla que crearías para este archivo sería un tipo de URI personalizada que apuntara únicamente a la ruta (la parte que viene después de
http://example.com) al archivo. Por lo tanto, en el cuadro de texto de esta regla, escriba lo siguiente:

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

Aunque se trata de un proceso relativamente sencillo cuando se trata de un número reducido de archivos, puede resultar muy laborioso si se aplica a un número mayor de archivos. Veamos, pues, cómo puedes crear una sola regla para proteger varios archivos.

Volver arriba

Varios archivos

Supongamos ahora que tienes 10 archivos y quieres que el mismo nivel de suscripción tenga acceso a todos ellos.

La idea es que, o bien coloques cada archivo en una carpeta específica mediante FTP (recomendado), o bien te asegures de que cada archivo que subas a través del «Media Uploader» tenga un prefijo común (no recomendado, a menos que el FTP no sea una opción).

Aunque no recomendamos proteger varios archivos subidos mediante el cargador de archivos multimedia de WordPress, entendemos que puede haber ocasiones en las que quieras o necesites hacerlo. Por lo tanto, si subes estos archivos a través del cargador de archivos multimedia, tendrán las siguientes URL:

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

Ahora solo tendrías que crear una regla de tipo «URI personalizada» con esta ruta:

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

Esto protegerá cualquier archivo en la carpeta /wp-content/uploads/2015/10/ que tenga un nombre que empiece por "bronze_".

Volver arriba

Múltiples archivos con FTP

FTP/SFTP es una forma robusta de transferir archivos desde tu ordenador local a tu sitio web. La mayoría de los alojamientos web ofrecen servicios FTP gratuitos para que puedas acceder a los archivos de tu sitio de forma remota desde tu propio ordenador. La disponibilidad de FTP puede variar de un alojamiento web a otro y puede tener diferentes requisitos.

Normalmente necesitarás un cliente FTP como FileZilla o Cyberduck para conectarte a tu servidor mediante FTP/SFTP. Esto te permitirá acceder al sistema de archivos de tu servidor web para crear carpetas y subir archivos de forma similar a como copiarías archivos entre carpetas en tu propio ordenador local.

En este ejemplo utilizaremos FTP para crear una carpeta llamada «protected» e importar nuestros archivos a ella, de modo que ahora tengamos las siguientes URL:

Nota: Las reglas URI personalizadas no funcionarán para los archivos si su sitio se ejecuta en Servidores Nginx. Si crea la carpeta bajo wp-content/uploads entonces las reglas URI pueden funcionar para usted. Le recomendamos que utilice las reglas Complemento de descargas MemberPress para proteger archivos en 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

Esta opción puede resultar más adecuada que utilizar el cargador de archivos multimedia de WordPress si tienes pensado añadir archivos a tu carpeta más adelante, ya que el cargador de archivos multimedia de WordPress a veces coloca los archivos subidos en momentos diferentes en carpetas distintas.

Así pues, en este ejemplo, lo único que tendrías que hacer es crear una regla de tipo «URI personalizada» con esta ruta (introducida en el cuadro de texto de la regla):

/protegido/

Nota: Si esto no funciona y usted está en un servidor Apache. Asegúrese de que las reglas de reescritura MemberPress no se han desactivado yendo a MemberPress->Configuración->General y desmarcando la casilla "Desactivar reglas de reescritura" y, a continuación, guarde los cambios.

Ahora veamos cómo utilizar una búsqueda más avanzada con expresiones regulares.

Volver arriba

Expresiones regulares

Expresiones regulares es una sintaxis de búsqueda única y descriptiva que se utiliza habitualmente en todos los lenguajes de programación modernos para seleccionar y procesar texto. Le permitirá proteger grupos muy específicos de archivos con facilidad.

Nota: Las expresiones regulares se utilizan mejor en los casos en que es necesario proteger varias URL a la vez.

La idea aquí es que le permitirá hacer coincidir patrones en una URL dada y proteger la URL si coincide con una de sus Reglas personalizadas de tipo URI con expresión regular activada.

Por ejemplo, en el ejemplo de FTP anterior, si quisieras permitir que algunos usuarios tuvieran acceso únicamente a los archivos PDF y que otros tuvieran acceso a tus archivos PDF, DOC, DOCX y ZIP, podrías crear dos reglas de expresiones regulares diferentes: la primera para un nivel de membresía y la segunda para otro.

La primera Regla para su primer nivel de afiliación tendría una ruta de algo como:

^/protegido/.*\.pdf

La segunda Regla para su otro nivel de membresía tendría una ruta de algo como:

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

Es cierto que las expresiones regulares pueden resultar difíciles de dominar, pero ofrecen potentes funciones de búsqueda y protección de archivos en las reglas de tipo «URI personalizado» de MemberPress. Hemos comprobado que
http://www.regular-expressions.info/ es un buen recurso para cualquiera que quiera descubrir esta potente tecnología. Además, si tienes necesidades más complejas, nuestro equipo de soporte es bastante experto en expresiones regulares para lo que necesites proteger. solicitud de asistencia si necesitas ayuda con esta función.

Volver arriba

Requisitos técnicos

Dado que esta función utiliza el servidor web subyacente de tu sitio web para proteger los archivos, hay algunos requisitos técnicos que deben cumplirse para que funcione correctamente. Hemos diseñado MemberPress para que sea compatible con las configuraciones de servidor más habituales, pero si no te funciona del todo bien, aquí tienes algunos aspectos que debes comprobar:

  1. Tu sitio web debe estar alojado en Apache o en un servidor web compatible con Apache, como Litespeed. Las reglas de reescritura que instala MemberPress son específicas de Apache. Si no estás seguro de qué servidor web estás utilizando, probablemente sea Apache, pero para asegurarte, puedes ponerte en contacto con tu proveedor de alojamiento web. MemberPress no admite la protección de archivos en otros servidores web como Nginx, IIS u otros servidores que no estén basados en Apache. Sin embargo, si tu servidor web utiliza Nginx como proxy (delante de Apache), es posible que puedas utilizar el código de omisión del proxy de Nginx que se describe en la sección dedicada a Nginx en esta página.
  2. Su instalación de WordPress debe tener privilegios suficientes para realizar cambios en su archivo .htaccess. Si su archivo .htaccess no puede ser escrito por WordPress, puede editarlo manualmente siguiendo nuestros pasos. instrucciones avanzadas de reescritura.
  3. Tu instalación de WordPress debe permitir escribir archivos en la carpeta /wp-content/uploads. Este es también un requisito para que el cargador de archivos multimedia de WordPress pueda subir archivos, por lo que, si eso funciona, esto también debería funcionar.
  4. Cloudflare y otros CDN, así como los sistemas de almacenamiento en caché, pueden interferir en la protección de los archivos. Esto se debe a que, o bien almacenan el archivo en caché, lo que impide protegerlo, o bien interfieren con nuestras cookies de protección y provocan bucles de redireccionamiento infinitos.

Nota: Por este motivo, si tiene problemas con la protección de archivos, debería desactivar cualquier CDN y caché para ver si es una posible causa. antes de poniéndose en contacto con nuestro servicio de asistencia.

  1. Las reglas de reescritura de MemberPress deben estar activadas. Vaya a MemberPress->Configuración->General, desmarque la casilla "Desactivar reglas de reescritura" y guarde los cambios.

También hemos observado que algunos usuarios tienen reglas de reescritura personalizadas que han interferido con las reglas de reescritura de MemberPress. Por lo tanto, si esta función no parece funcionar y crees que has seguido todos estos pasos, ponte en contacto con nuestro equipo de apoyo y te ayudaremos.

Volver arriba

Proteger otros tipos de archivos

MemberPress puede proteger tipos de archivo adicionales. Tenga en cuenta que cada petición HTTP de tipo de archivo protegible provocará una segunda petición al sitio para comprobar si el archivo está protegido o no. Por esta razón, no recomendamos proteger archivos como imágenes (jpg, png, gif, etc), scripts (css, js), o archivos de fuentes ya que podría causar una carga significativa a su servidor.

Utilice el siguiente código personalizado en un plugin como el WPCode para añadir tipos de archivo adicionales. Consulte este artículo para obtener más información: Cómo añadir fragmentos de código personalizados en WPCode.

El código que aparece a continuación añade los tipos de archivo “html” y “htm” a la lista de archivos protegidos. Una vez añadido este código, también tendrás que actualizar la configuración de enlaces permanentes de WordPress para que el sistema actualice el archivo .htaccess de tu sitio web.

function add_types_protectable($types, $rules) {
  $types[] = 'htm';
  $types[] = 'html';
  return $ipos;
}
add_filter('mepr_rewrite_rules_protect_types', 'add_types_protectable', 11, 2);
¿Le ha resultado útil este artículo?

Artículos relacionados

chica del ordenador

¡Consiga MemberPress hoy mismo!

Empieza a cobrar por los contenidos que creas.