xref: /plugin/extranet/README_ES.md (revision ef5bb1f3884025c3556b3c46e33332ca386a73a6)
1*ef5bb1f3SLORTET# Extranet
2*ef5bb1f3SLORTET
3*ef5bb1f3SLORTET[���� Français](README.md) | [���� English](README_EN.md) | [���� Deutsch](README_DE.md) | ���� Español
4*ef5bb1f3SLORTET
5*ef5bb1f3SLORTETPlugin de DokuWiki para restringir la visualización de páginas, archivos multimedia y algunas acciones cuando la solicitud proviene de la extranet.
6*ef5bb1f3SLORTET
7*ef5bb1f3SLORTETEl plugin puede:
8*ef5bb1f3SLORTET- detectar la extranet a partir de un valor configurable de `$_SERVER`;
9*ef5bb1f3SLORTET- aplicar una política predeterminada `allow`, `block`, `force_allow` o `force_block`;
10*ef5bb1f3SLORTET- filtrar páginas y archivos multimedia por ID exacto, espacio de nombres, comodín o regex;
11*ef5bb1f3SLORTET- reemplazar el contenido de una página restringida por un mensaje configurable;
12*ef5bb1f3SLORTET- reemplazar archivos multimedia restringidos por una imagen neutra;
13*ef5bb1f3SLORTET- desactivar acciones seleccionadas de DokuWiki para visitantes de la extranet;
14*ef5bb1f3SLORTET- gestionar las macros `~~NOEXTRANET~~` y `~~EXTRANET~~`;
15*ef5bb1f3SLORTET- integrarse con ProseMirror para conservar correctamente ese estado en modo WYSIWYG.
16*ef5bb1f3SLORTET
17*ef5bb1f3SLORTET## Uso
18*ef5bb1f3SLORTET
19*ef5bb1f3SLORTETHay dos macros disponibles en las páginas:
20*ef5bb1f3SLORTET
21*ef5bb1f3SLORTET- `~~NOEXTRANET~~`: bloquea la página desde la extranet cuando la política lo permite;
22*ef5bb1f3SLORTET- `~~EXTRANET~~`: permite la página desde la extranet cuando la política lo permite.
23*ef5bb1f3SLORTET
24*ef5bb1f3SLORTETEl comportamiento exacto depende de `default_policy`:
25*ef5bb1f3SLORTET
26*ef5bb1f3SLORTET- `allow`: todo está permitido excepto las páginas filtradas o marcadas con `~~NOEXTRANET~~`
27*ef5bb1f3SLORTET- `block`: todo está bloqueado excepto las páginas filtradas o marcadas con `~~EXTRANET~~`
28*ef5bb1f3SLORTET- `force_allow`: solo se aplican las reglas de filtro, `~~NOEXTRANET~~` se ignora
29*ef5bb1f3SLORTET- `force_block`: solo se aplican las reglas de filtro, `~~EXTRANET~~` se ignora
30*ef5bb1f3SLORTET
31*ef5bb1f3SLORTET## Configuración
32*ef5bb1f3SLORTET
33*ef5bb1f3SLORTETEn el gestor de configuración:
34*ef5bb1f3SLORTET
35*ef5bb1f3SLORTET- `request_match_key`: clave de `$_SERVER` usada para detectar la extranet, por ejemplo `REMOTE_ADDR` o una cabecera `HTTP_*`
36*ef5bb1f3SLORTET- `extranet_match_list`: lista de valores separados por comas tratados como extranet
37*ef5bb1f3SLORTET- `extranet_match_regex`: regex usada para identificar la extranet a partir del valor configurado
38*ef5bb1f3SLORTET- `default_policy`: política de acceso predeterminada
39*ef5bb1f3SLORTET- `filter_list`: lista de páginas o archivos multimedia afectados por la política
40*ef5bb1f3SLORTET- `filter_regex`: regex adicional para apuntar a páginas o archivos multimedia
41*ef5bb1f3SLORTET- `hide_files`: indica si las restricciones también se aplican a los archivos multimedia
42*ef5bb1f3SLORTET- `disable_actions`: acciones de DokuWiki desactivadas para visitantes de la extranet
43*ef5bb1f3SLORTET- `restricted_disable_actions`: acciones adicionales desactivadas solo cuando la página actual está restringida
44*ef5bb1f3SLORTET- `preserve_first_title`: conserva el primer encabezado cuando una página se oculta
45*ef5bb1f3SLORTET- `message_prefix`: contenido insertado antes del mensaje de restricción
46*ef5bb1f3SLORTET- `message_suffix`: contenido insertado después del mensaje de restricción
47*ef5bb1f3SLORTET
48*ef5bb1f3SLORTETCompatibilidad:
49*ef5bb1f3SLORTET
50*ef5bb1f3SLORTET- `server_ip_key`
51*ef5bb1f3SLORTET- `extranet_ip_list`
52*ef5bb1f3SLORTET- `extranet_ip_regex`
53*ef5bb1f3SLORTET
54*ef5bb1f3SLORTETEstos parámetros antiguos siguen siendo compatibles por razones de compatibilidad, pero conviene usar los nombres nuevos.
55*ef5bb1f3SLORTET
56*ef5bb1f3SLORTET## Ejemplos
57*ef5bb1f3SLORTET
58*ef5bb1f3SLORTETDetección por IP directa:
59*ef5bb1f3SLORTET
60*ef5bb1f3SLORTET- `request_match_key = REMOTE_ADDR`
61*ef5bb1f3SLORTET- `extranet_match_regex = /^10\.100\./`
62*ef5bb1f3SLORTET
63*ef5bb1f3SLORTETDetección por cabecera de proxy:
64*ef5bb1f3SLORTET
65*ef5bb1f3SLORTET- `request_match_key = HTTP_X_NETWORK_ZONE`
66*ef5bb1f3SLORTET- `extranet_match_list = extranet`
67*ef5bb1f3SLORTET
68*ef5bb1f3SLORTETDetección por nombre del host upstream:
69*ef5bb1f3SLORTET
70*ef5bb1f3SLORTET- `request_match_key = HTTP_X_UPSTREAM_HOST`
71*ef5bb1f3SLORTET- `extranet_match_regex = /^frontend-ext-/`
72*ef5bb1f3SLORTET
73*ef5bb1f3SLORTET## Lo que ofrece el helper
74*ef5bb1f3SLORTET
75*ef5bb1f3SLORTETCargar el helper:
76*ef5bb1f3SLORTET
77*ef5bb1f3SLORTET```php
78*ef5bb1f3SLORTET$extranet = plugin_load('helper', 'extranet');
79*ef5bb1f3SLORTET```
80*ef5bb1f3SLORTET
81*ef5bb1f3SLORTETMétodos principales:
82*ef5bb1f3SLORTET
83*ef5bb1f3SLORTET- `getDefaultPolicy()`: devuelve la política predeterminada efectiva
84*ef5bb1f3SLORTET- `getRequestMatchKey()`: devuelve la clave `$_SERVER` usada para la detección
85*ef5bb1f3SLORTET- `getExtranetMatchList()`: devuelve la lista configurada de valores
86*ef5bb1f3SLORTET- `getExtranetMatchRegex()`: devuelve la regex configurada
87*ef5bb1f3SLORTET- `isExtranetRequest()`: indica si la solicitud actual se trata como extranet
88*ef5bb1f3SLORTET- `isPageVisibleFromExtranet()`: indica si una página es visible desde la extranet
89*ef5bb1f3SLORTET- `isMediaVisibleFromExtranet()`: indica si un archivo multimedia es visible desde la extranet
90*ef5bb1f3SLORTET- `isPageAllowed()`: indica si una página está permitida en el contexto actual
91*ef5bb1f3SLORTET- `isMediaAllowed()`: indica si un archivo multimedia está permitido en el contexto actual
92*ef5bb1f3SLORTET- `parseRuleList()`: convierte una lista de reglas en un array utilizable
93*ef5bb1f3SLORTET- `idMatchesRule()`: comprueba un ID frente a una regla
94*ef5bb1f3SLORTET
95*ef5bb1f3SLORTET## Caché y comportamiento
96*ef5bb1f3SLORTET
97*ef5bb1f3SLORTETEl plugin separa la caché de renderizado para distinguir entre visitantes de intranet y de extranet.
98*ef5bb1f3SLORTET
99*ef5bb1f3SLORTETCuando una página está restringida, su contenido se reemplaza por un mensaje configurable. Si `preserve_first_title` está activo, se conserva el primer encabezado.
100*ef5bb1f3SLORTET
101*ef5bb1f3SLORTETSi `hide_files` está activo, los archivos multimedia restringidos se reemplazan por una imagen dedicada.
102*ef5bb1f3SLORTET
103*ef5bb1f3SLORTET## Nota
104*ef5bb1f3SLORTET
105*ef5bb1f3SLORTETEl plugin depende de un marcador de solicitud proporcionado por la infraestructura web. Es adecuado para una lógica de segmentación intranet/extranet, pero no debe considerarse un sustituto de las ACL ni de un control de acceso fuerte.
106