Cierras la puerta principal de tu casa. Pero ¿por qué dejas abierta la puerta trasera? Esto es equiparable con casi todos los accesos a internet de tus dispositivos de internet de las cosas (IoT), cámaras web y otros dispositivos.
Hola amigos y amigas.
Este es el primer paso de una versión completamente renovada del gestor de acceso mediante un navegador web para asegurar el acceso a redes internas mediante OpenVPN. Esto NO es una versión segura de momento. Eso sólo se alcanzará con la versión 1.1.0. Pero me gustaría darte la oportunidad de probarla por ti mismo hoy mismo, y así poder contribuir con ideas o incluso con tu propio código.
Podrás actualizar desde el original, la publicación 0.8 y 1.0.x, estarán disponibles con la versión 1.1.0.
El proceso de instalación ha sido comprobado, pero puede surgir algún error.
En realidad, las constantes definidas son fácilmente identificadas por su propio nombre. (Ejemplo válido desde la versión 1.1.0 que difiere de versiones previas)
$dbhost = 'db.home';
$dbport = '3306';
$dbname = 'tester';
$dbuser = 'tester';
$dbpass = 'tester';
$dbtype = 'mysqli';
$dbdebug = FALSE;
$sessdebug = FALSE;
/* site name */
define('_SITE_NAME', "OVPN-WebAdmin");
define('HOME_URL', "vpn.home");
define('_DEFAULT_LANGUAGE','de_DE');
/** Login Site */
define('_LOGINSITE', 'login1');
La entrada _LOGINSITE define el contenido que debe ser cargado para la página de inicio de sesión (login) que puedes imprimir tu mismo. Las diferentes páginas de inicio de sesión están almacenadas en include/html/login/ [ carpeta ]. El archivo login.php será cargado y mostrado automáticamente.
Ya existen algunos ejemplos en login1, login2 y login3. Que pueden servir para hacerte una idea. Hay 5 cosas a tener en cuenta para un correcto funcionamiento:
include (REAL_BASE_DIR.'/include/html/login/login.functions.php');
Con esta entrada cargas las funciones de plantilla que son necesarias para la transmisión de los datos de inicio de sesión.
echo username();
echo password();
echo hiddenfields();
echo button();
A menudo ocurre que el inicio (bootstrap) u otros estilos que son cargados requieren más información sobre las clases. De manera sencilla puedes pasar la información apropiada de la siguiente manera:
echo button('btn-primary btn-block');
El sistema emite otras especificaciones, que son descritas brevemente a continuación:
# El nombre del sitio web, introducido en el archivo config.php
echo _SITE_NAME;
De manera predeterminada, el contenido del array $message siempre es mostrado. La mejor manera de hacer esta llamada es mediante:
echo GET_Lang::message("_LOGIN_DATA");
Como la clase class.language.php está también siempre cargada, la llamada puede hacerse de esta forma. La clase busca la clave correspondiente, aquí _LOGIN_DATA y la muestra. Las claves que no existan son mostradas de manera automática con un LANGUAGE_ERROR y la entrada que se ha pasado con error.
Si quieres cargar otros arrays desde el archivo de idioma, simplemente pasa el nombre del array, la clase encontrará el valor y lo mostrará.
echo GET_Lang::message("4", "errormessage");
Esta entrada mostraría la clave 4 del array errormessage.
Desde la versión 1.2.0 tienes la posibilidad de crear tus propias páginas de error. Las páginas de error siempre son llamadas con la entrada de la página de inicio de sesión y deben también estar disponibles en la carpeta correspondiente - ver "Archivo de configuración config.php" - como error.php.
Traducido desde el documento en inglés