Restricted Site Access

Descripción

Limita el acceso a tu sitio a los visitantes que hayan iniciado sesión o que acceden al sitio desde un conjunto de direcciones IP especificadas. Envía visitantes restringidos a la página de inicio de sesión, redirigirlos o mostrar un mensaje o página. Una gran solución para Extranets, Intranets alojadas públicamente o sitios paralelos de desarrollo / pruebas.

Añade varias opciones de configuración nuevas al panel de configuración de lectura, así como al panel de configuración de red en multisitio. Desde estos paneles puedes:

  1. Activar o desactivar la restricción del sitio
  2. Cambiar el comportamiento de restricción: enviar a iniciar sesión, redirigir, mostrar un mensaje, mostrar una página
  3. Añadir direcciones IP a una lista no restringida, incluidos rangos
  4. Añade rápidamente tu IP actual a la lista de no restringidos
  5. Personaliza la ubicación de redireccionamiento, incluida una opción para enviarlos a la misma ruta solicitada y establecer el código de respuesta HTTP para la optimización de SEO.
  6. Define un mensaje simple para mostrar los visitantes restringidos, o selecciona una página para mostrarles. ¡Genial por los avances de «próximamente»!

Capturas

  • Captura de pantalla del panel de configuraciones con la opción de acceso restringido al sitio (enviar a la página de inicio de sesión).
  • Captura de pantalla del panel de configuración con la opción de mensaje de restricción habilitada
  • ¡Mucha ayuda en línea! Se muestra y se comporta como la ayuda nativa de WordPress.

Instalación

  1. Se instala fácilmente desde el panel de control de plugins de WordPress o de forma manual descargando el plugin y subiendo la carpeta descomprimida al directorio /wp-content/plugin/
  2. Activar el plugin a través del menú ‘Plugins’ en WordPress
  3. Configura el plugin desde el menú «Lectura» (WP3.5+) o «Privacidad» (versiones anteriores) en «Ajustes»

Preguntas frecuentes

¿Dónde cambio los ajustes de las restricciones?

Los ajustes de Restricted Site Access se añaden a la página de Lectura, con las opciones nativas de WordPress de privacidad. (Fue movido aquí desde una página independiente de ajustes de Privacidad en la versión 3.5.)

¡No funciona! ¡Mi sitio es totalmente accesible!

Normalmente, Restricted Site Access no es compatible con algunas soluciones de caché de páginas. Si bien el plugin se engancha lo antes posible para verificar los permisos de los visitantes, es importante entender que algunos plugins de caché de páginas generan resultados estáticos que evitan que los plugins, como Restricted Site Access, puedan comprobar los visitantes individuales.

En la medida en que los sitios bloqueados por este plugin no deberían preocuparse por el alto rendimiento en en la parte pública, recomendamos encarecidamente deshabilitar las soluciones de almacenamiento en caché de páginas mientras se restringe el acceso a tu sitio. Ten en cuenta que de todos modos la mayoría de los complementos de caché de páginas no almacenan en caché las opciones de «conectado». También ten en cuenta que el plugin es totalmente compatible con otras capas de almacenamiento en caché, como la memoria caché de objetos de WordPress.

¿Cómo permito el acceso a páginas específicas o partes de mi sitio?

Los desarrolladores pueden usar el filtro restricted_site_access_is_restricted para anular el comportamiento de restricción normal. Ten en cuenta que las comprobaciones de restricción suceden antes de que WordPress ejecute cualquier consulta; pasa la solicitud de consulta de la variable global $wp para que los desarrolladores puedan investigar qué está intentando cargar el visitante.

Por ejemplo, para desbloquear una feed RSS, coloca el siguiente código PHP en el archivo functions.php del tema o en un simple plugin:

add_filter( 'restricted_site_access_is_restricted', 'my_rsa_feed_override’, 10, 2 );

function my_rsa_feed_override( $is_restricted, $wp ) {
    // check query variables to see if this is the feed
    if ( ! empty( $wp->query_vars['feed'] ) ) {
        $is_restricted = false;
    }
    return $is_restricted;
}
¿Cómo de seguro es este plugin?

Los visitantes que no están conectados o permitidos por una dirección IP no podrán navegar por tu sitio (pero ten cuidado con las incompatibilidades de los plugins del almacenamiento en caché de página, mencionados anteriormente). Restricted Site Access no bloquea el acceso a, enlaces directos a los archivos en la carpeta de medios y cargas (por ejemplo). También es importante recordar que las direcciones IP pueden ser falsificadas. Debido a que Restricted Site Access se ejecuta como un plugin, está sujeto a cualquier otra vulnerabilidad presente en tu sitio.

Restricted Site Access no está destinado a ser una caja fuerte de datos secretos, sino simplemente una forma confiable y conveniente de manejar visitantes no deseados.

He recibido una advertencia sobre la caché de página. ¿Qué significa?

Los plugins de caché de página a menudo se enganchan a WordPress para servir rápidamente el último contenido almacenado en caché de una página antes de que podamos verificar si el acceso de un visitante se debe restringir. No todos los complementos de caché de páginas se comportan de la misma manera, pero es posible que varias soluciones, incluidas las externas que no detectamos, puedan hacer que las páginas restringidas se muestren públicamente, independientemente de tus ajustes..

Why can’t logged-in users see all the sites on my multisite instance?

In 6.2.0, the behavior in a multisite install changed from allowing any logged-in user to see a site to checking their role for that specific site. This is a safer default given the varying ways multisite is used; however, if you would prefer to rely on the previous behavior rather than explicitly adding users to each site, place the following PHP code in the theme’s functions.php file or in a simple plug-in:

add_filter( 'restricted_site_access_user_can_access', 'my_rsa_user_can_access' );

function my_rsa_user_can_access( $access ) {
    if ( is_user_logged_in() ) {
        return true;
    }

    return $access;
}
Is there a way to configure this with [WP-CLI](https://make.wordpress.org/cli/)?

As of version 7.0.0, CLI integration has been added. To see the available commands, type the following in your WordPress directory:

$ wp rsa
How can I programatically define whitelisted IPs?

In 7.0.0, the capacity to define a pipe delimited array of whitelisted IP addresses via constant was introduced.

In your wp-config.php file, you can define the following:

define( 'RSA_IP_WHITELIST', '192.0.0.1|192.0.0.10' );

Reseñas

junio 18, 2019
Wouldn't let me add my IP address and even though I set it to allow logged in users it locked me out. Had to delete in PHPMyAdmin. Not impressed. Should not be possible to lock yourself out. Won't be reinstalling.
mayo 21, 2019
After trying a few plugins who gave a lot of really advanced options. And took too long for my attention span to get it working. This charming little plugin came in. And all was well. Thanks!
febrero 5, 2019
I am a divi user and this plugin allows me to create my maintenance pages with the builder. Very nice !
Leer todas las 46 reseñas

Colaboradores y desarrolladores

“Restricted Site Access” es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

“Restricted Site Access” ha sido traducido a 3 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce “Restricted Site Access” a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN , o suscríbete al log de desarrollo por RSS .

Registro de cambios

7.1.0

Added
* IP whitelist: Add a Comment field next to each IP address to help identify IP addresses added to the whitelist.
* Add constants to force enable/disable restrictions. Set RSA_FORCE_RESTRICTION to true to force restriction or RSA_FORBID_RESTRICTION to disable restriction. RSA_FORCE_RESTRICTION will override RSA_FORBID_RESTRICTION if both are set.

Fixed
* Disable individual site settings when network enforced mode is on to avoid confusion about why your settings are not being respected.
* Correctly load admin JS.
* Improve coding standards across plugin and introduce continuous integration linting against the WordPress coding standards. Update code to VIP Go coding standards.

Developers
* Add unit tests accross plugin. Note that when the WP_TESTS_DOMAIN constant is set, plugin redirects are disabled. Only set this constant when running the tests.
* Deploy plugin from GitHub to WordPress.org using GitHub Actions.
* Add various GitHub community files.

7.0.1

  • Bug fix: Avoid redirect loop when the unrestricted page is set to be the static front page.
  • Bug fix: Fall back to the login screen if the unrestricted page is no longer published.

7.0.0

  • Feature: WP-CLI support! 🎉 Try wp rsa to get started.
  • Feature: Whitelist IPs via the RSA_IP_WHITELIST constant.
  • Feature: Use WordPress.org-provided language packs instead of bundled translations.
  • Bug fix: Restrict «virtual pages» and allow them to be used as the unrestricted page, such as with BuddyPress.
  • Bug fix: Hide settings properly when no published pages exist.
  • Bug fix: Avoid double slashes in asset URLs that can lead to 404 errors.

6.2.1

  • Bug fix: Don’t redirect logged-in users viewing the site in a single site install.

6.2.0

  • Functionality change: Check user’s role on a site in multisite before granting permission.
  • Feature: Alter or restore previous user permission checking with the restricted_site_access_user_can_access filter.
  • Avoid a fatal due to differing parameter counts for the restricted_site_access_is_restricted filter.

6.1.0

  • Corregido un aviso de PHP cuando se ejecuta PHP >= 7.1.
  • Refactorizada la lógica para verificar si la dirección IP está en el rango de la máscara de IP.
  • Añadidos tests PHPUnit para validar la funcionalidad de ip_in_mask.

6.0.2

  • Añadida una acción ‘restrict_site_access_ip_match’ que se activa cuando hay una coincidencia de ip. Permite agregar session_start() a la verificación de IP, lo que garantiza que la caché de tipo Varnish no almacenará en caché la solicitud.

6.0.1

  • Cuando el plugin está activado en la red, no toca los ajustes individuales de visibilidad del blog.
  • Cuando el plugin está desactivado en la red, establece todos los blogs individuales a la visibilidad por defecto.

6.0

  • Uso de Grunt para gestionar los activos.
  • Ajustes de red añadidos para la administración de configuraciones de visibilidad de redes completas.
  • Muestra una advertencia si la caché de página está activada.

Nota: actualmente hay un error poco frecuente que afecta a la lista blanca de IP. Este error está en nuestra lista para ser resuelto en breve.

5.1

  • Under the hood refactoring and clean up for performance and maintainability.
  • Small visual refinements to the settings panel.

5.0.1

  • Does not block user activation page in network mode

5.0

  • WordPress 3.5 compatibility (3.5 eliminated the Privacy settings panel in favor of a refreshed Reading panel)
  • Real validation (on the fly and on save) for IP address entries
  • «Restriction message» now supports simple HTML and is edited using WordPress’s simple HTML tag editor
  • A bunch of visual refinements that conform better with WordPress 3.4 and newer (spacing, native «shake» effect on invalid entries just like the login form, etc.)
  • A bunch of under the hood refinements (e.g. playing nicer with current screen Help API)

4.0

  • New restriction option – show restricted visitor a specified page; use with custom page templates for great for website teasers!
  • Major improvements to settings user interface, including hiding unused fields based on settings, easier selection of restriction type, and cleaner «remove» confirmation for IP address list
  • Performance improvements – catches and blocks restricted visitors earlier in the loading process
  • New filter hooks for other developers: ‘restricted_site_access_is_restricted’, ‘restricted_site_access_approach’, ‘restricted_site_access_redirect_url’, and ‘restricted_site_access_head’
  • Localization ready – rough Spanish translation included!
  • Basic support for no JavaScript mode
  • Optimized for PHP 5.2, per new WordPress 3.2 requirements (no longer supports PHP < 5.2.4)
  • Assorted other improvements and optimizations to the code base

3.2.1

  • Restored PHP4 compatibility

3.2

  • More meaningful page title in «Display Message» mode (previously WordPress > Error)
  • Code clean up, prevent rare warnings in debug mode

3.1.1

  • Fixed PHP warning when debugging is enabled and redirect path is not checked

3.1

  • New feature: backwards compatibility with PHP < 5.1 (limited testing with earlier versions)
  • Bug fix: disappearing blocked access message text box on configuration page
  • Bug fix: login always redirects visitor back to correct page
  • Improved: built in help on configuration page updated, clearer
  • Improved: «IP already in list» indicator
  • Improved: optimizations to code that handles restriction behavior

3.0

  • Integrates with Privacy settings page and site visibility option instead of adding a whole new page
  • Simplified options: clearer instructions, removed unnecessary hiding / showing of some options, fewer lines
  • Indicates whether the site is blocked in the admin next to the site title (WordPress 3.0+ only)
  • New action hook, restrict_site_access_handling, allowing developers to add their own restriction handling
  • Cleans up / removes settings when uninstalled
  • Assorted under the hood improvements for best coding practices, sanitization of options, etc

2.1

  • Customize blocked visitor message
  • Stronger security (patched «search» hole)
  • Better display / handling of blocked visitor message

2.0

  • Add support for IP ranges courtesy Eric Buth
  • Major UI changes and improvements; major code improvements

1.0.2

  • Fix login redirect to home; improve redirect handling to take advantage of wp_redirect function

1.0.1

  • Important fundamental change related to handling of what should be restricted