Foros del Web » Programando para Internet » PHP »

Como guardar datos de usuario administrador de la BD de mi aplicacion

Estas en el tema de Como guardar datos de usuario administrador de la BD de mi aplicacion en el foro de PHP en Foros del Web. Estoy haciendo un chat, en php y ajax, con un script de instalación, de tal forma que, pueda colocar el código en cualquier server, ejecutar ...
  #1 (permalink)  
Antiguo 12/07/2013, 21:14
 
Fecha de Ingreso: enero-2009
Mensajes: 56
Antigüedad: 15 años, 3 meses
Puntos: 1
Como guardar datos de usuario administrador de la BD de mi aplicacion

Estoy haciendo un chat, en php y ajax, con un script de instalación, de tal forma que, pueda colocar el código en cualquier server, ejecutar dicho script y el chat quede operativo.
Este script consta de un formulario donde se ingresan datos como el usuario (name y pass) administrador de la base de datos.
Estos datos serán tomados de un archivo, para que cada vez que se agregue un mensaje al chat sean leídos de dicho archivo y se realicen las modificaciones correspondientes en la BD.

Mi duda es:

¿Cuál sería una solución segura para guardar este archivo con información crítica de la BD?

Ver que: Para que dicho script de instalación se pueda ejecutar en cualquier servidor no podría utilizar una ubicación externa al web root.

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 13/07/2013, 00:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como guardar datos de usuario administrador de la BD de mi aplicacion

Muestra el código de ese archivo y tal vez podamos aportar algo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/07/2013, 17:41
 
Fecha de Ingreso: enero-2009
Mensajes: 56
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Como guardar datos de usuario administrador de la BD de mi aplicacion

El formulario ( Templates/installationForm.tpl.php ) contiene el siguiente código:

Código:
  
  1 <html> 
  2 
  3 <body>
  4 
  5     <!--:Errors-->
  6 
  7 <form action='Install.php' method='POST' name='FormularioInstalacion'>
  8 
  9     Data base Name:
 10         <input type="text" name="DBName"/><br/>
 11     Host IP:
 12         <input type="text" name="DBHost"/><br/>
 13     Data base user name:
 14         <input type="text" name="DBUserName"/></br>
 15     Data base user pass:
 16         <input type="text" name="DBUserPass"/></br>
 17 
 18         <input type="hidden" value="true" name="submitVerifier"/>
 19 
 20     <input type="submit"/>
 21 </form>
 22 
 23 </body>
El script que procesa el formulario es el siguiente:
Código PHP:
  1 <?php
  2     
/**
  3      * Inicializa el chat.
  4      * 
  5      * Desplega un formulario donde se ingresan los distintos parámetros de 
  6      * configuración correspondientes al servidor y crea el archivo 
  7      * datosSrv.inc.php con dichos. Ej usuario y contraseña
  8      * de la base de datos, nombre de la base de datos a usar y host.
  9      */
 
10 
 11     
/**
 12      * Importa la clase Chat.
 13      */
 
14     include_once( 'Chat/Chat.php' );
 
15 
 16     
/**
 17      * Ubicación del formulario de instalación
 18      * @var string
 19      */
 
20     $archivoFormInst='Templates/installationForm.tpl.php';
 
21 
 22     
/**
 23      * Ubicacion del template con los errores producidos
 24      * @var string
 25      */
 
26     $fileErrorTemplate='Templates/installationFormErrors.tpl.php';
 
27 
 28 
 29     
/**
 30      * Array que contiene los datos incorrectos.
 31      * @var array
 32      */
 
33     $datosIncorrectos=Array();
 
34 
 35 
 36     
/* Verifica si la actual llamada al script es enviada desde el formulario 
 37      * para procesar los datos ingresados o fue realizada para imprimir dicho
 38      * formulario, en este caso, imprime el formulario y termina la ejecución.
 39      */
 
40     if( !array_key_exists'submitVerifier' $_POST ) ){
 
41         echo file_get_contents$archivoFormInst );
 
42         exit;
 
43     }
 
44 
 45     
/*  Verifica el nombre de base de datos ingresado, en caso de ser incorrecto
 46      *   escribe un nuevo campo en el array datos incorrectos con el campo
 47      *  "Nombre de base de datos".
 48      */
49     if (!array_key_exists'DBName'$_POST ) ||
 
50                     empty( $_POST ['DBName'] )  ){
 
51         $datosIncorrectos[]= 'No se ingreso un nombre de la base de datos';
 
52     }
 
53 
 54 
 55     
/*  Verifica el nombre de usuario de la base de datos ingresado, en caso de 
 56      *  ser incorrecto escribe un nuevo campo en el array datos incorrectos con 
 57      *  el campo "No se ingreso un nombre de usuario de la base de datos".
 58      */
 
59     if (!array_key_exists'DBUserName'$_POST ) ||
 
60             empty( $_POST ['DBUserName'] )  ){
 
61         $datosIncorrectos[]= "No se ingreso un nombre de usuario de la base de datos";
 
62     }
 
63 
 64 
 65     
/*  Verifica el formato del host ingresado, en caso de ser incorrecto
 66      *  escribe un nuevo campo en el array datos incorrectos con el campo  
 67      *  "La IP de host es incorrecta".
 68      */
 
69     if (!array_key_exists'DBHost'$_POST ) ||
 
70             empty( $_POST ['DBHost'] ) ||
 
71             !preg_match"/^((2[0-5][0-9])|(1?[0-9]?[0-9]))(\.((2[0-5][0-9])|(1?[0-9]?[0-9]))){3}$/"$_POST'DBHost' ] )  ){
 
72         $datosIncorrectos[]= "La IP de host es incorrecta.";
 
73     }
 
74 
 75 
 76     
/*  Si no se encontraron errores ( count( $datosIncorrectos ) = 0 ) 
 77      *  y se verifica la conexion a la base de datos se inicializa el creando
 78      *  la correspondiente tabla en la base de datos y definiendo el archivo 
 79      *  con los datos de conexión.
 80      */
 
81     if( count$datosIncorrectos ) == ){
 
82 
 83         $dsn
"mysql:dbname={$_POST[ 'DBName' ]};host={$_POST[ 'DBHost' ]}";
 
84         try{
 
85             $pdoConnection= @new PDO$dsn$_POST'DBUserName' ] ,
 
86                 $_POST'DBUserPass'] );
 
87 
 88             
/* Si la conexión se realizó correctamente, defino el archivo 
 89              * datosSrv.inc.php y crea la tabla que utilizará el chat.
 90              */
 
91 
 92              $newChat
= new Chat();
 
93 //Definicion del archivo de conexión
 
94 
 95              header
'location: Templates/operationComplete.tpl.php' );
 
96 
 97         
}catch( PDOException $e ){
 
98             $datosIncorrectos[]="No es posible la conexion con la base de datos, alguno de los datos ingresados son incorrectos.";
 
99         }catch( Exception $e ){
100             echo $e;
101         }
102     }
103 
104 
105     
/*  Si se encontraron errores imprime en pantalla el formulario de
106      *  instalación con la información de cada errory elimina los campos 
107      *  reservado a errores no asignados del formulario.
108      */
109     if( count$datosIncorrectos ) != ){
110         $formulariofile_get_contents$archivoFormInst );
111         $errorTplfile_get_contents$fileErrorTemplate );
112         foreach( $datosIncorrectos as $valor ){
113             $formulario str_replace"<!--:Errors-->",
114             "<!--:Errors-->".str_replace"<!--:ErrorMsg-->"$valor$errorTpl )
115             $formulario );
116         }
117 
118         
echo $formulario;
119     }
El archivo se definiría en la linea 93. La idea sería un archivo con un formato similar a:

Código:
usuarioAdministradorDeLaBD
contraseñaDelUsuarioAdministrador
nombreDeLaBaseDeDatos
host
Esos son los datos necesarios para que el sistema se pueda conectar a la base de datos y funcione correctamente.

Etiquetas: administrador, aplicacion, bd, formulario, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:27.