Ayuda con consulta PHP para darle seguridad y optimización

Iniciado por ceysmar, 10 Noviembre 2017, 15:46 PM

0 Miembros y 1 Visitante están viendo este tema.

ceysmar

Buenas estoy realizando una consulta a una base de dato como verán quiero que sea lo mas fluido y seguro posible por lo cual quiero su opinión ya que estoy usando php7 y bueno algunas cosas cambian no soy un experto en php pero me defiendo leyendo en el manua de php 7 realice esta consulta y solo quiero saber si es la manera mas comoda, correcta, segura y optimizada pues bien quiero que sea seguro ya que esta pagina que estoy realizando tiene las cotizaciones que hacen mis cliente a mi  negocio y no quiero que de golpe me la hakeen ya que yo perdería dinero  por ende todos los algoritmos y consulta que realice los quiero con la máxima seguridad posible el código es el siguiente

codigo de la pagina quienes somos
Código (php) [Seleccionar]
<?php 
require_once('plugin/conect.php');

     
/*CONSULTA A LA BASE DE DATO*/
    
$c_nosotros=("SELECT nosotros FROM configuracion WHERE id='1'");
    
/*EJECUTA LA CONSULTA BASE DE DATO */
    
$result mysqli_query($conectar$c_nosotros);
      
/*ALMACENA LOS RESULTADOS EN UN ARRAY*/
      
$row mysqli_fetch_array($resultMYSQLI_ASSOC);
             
$resultado_nosotros=$row["nosotros"];
          
/* liberar la serie de resultados */
            
mysqli_free_result($result);
          
/* cerrar la conexión */
             
mysqli_close($conectar);
?>



código del archivo de conexión
Código (php) [Seleccionar]
<?php
$hostname 
"127.0.0.1:3307";
$database "loto24";
$username "root"//Nombre de usuario
$password "";     //Nombre de contraseña


$conectar =new mysqli($hostname$username$password$database);

if (
mysqli_connect_errno()) {
    
printf("Falló la conexión: %s\n"mysqli_connect_error());
    exit();
}

?>

Aclaro aunque no creo que sea relevante estoy usando como motor de base de dato Mariadb

Que opinan puede este código ser el mas optimizado y seguro para mi pagina o hay algo mejor me interesaría consejos y opiniones

#!drvy

Con lo que muestras se puede deducir más bien poco.

- La consulta que muestras es estática. No tiene punto de inyección.
- No muestras la salida, no se puede saber si usas filtros o escapas contenido.

El archivo de conexión por otra parte *puede* llegar a presentar inconvenientes. Puede revelar información sensible en caso de que no consiga conectarse a la base de datos, en forma de mensaje de error. Para evitarlo, quita la linea printf y usa un sistema de logs interno.

Saludos

ceysmar

#2
Cita de: #!drvy en 10 Noviembre 2017, 16:09 PM
Con lo que muestras se puede deducir más bien poco.

- La consulta que muestras es estática. No tiene punto de inyección.
- No muestras la salida, no se puede saber si usas filtros o escapas contenido.

El archivo de conexión por otra parte *puede* llegar a presentar inconvenientes. Puede revelar información sensible en caso de que no consiga conectarse a la base de datos, en forma de mensaje de error. Para evitarlo, quita la linea printf y usa un sistema de logs interno.

Saludos

gracias por la respuesta me ayuda bastante la consulta tal como se muestra ejecuta su función que es imprimir una información en la pagina para que el usuario la lea por tanto siempr sera id=1 ya que id 1 es quien posee un campo  llamada nosotros la cual posee esa informacion dicha tabla no tiene datos o id autoincrementado el id uno posee diversos campos con diversa información que se mostrara dependiendo de la pagina en la que el usuario este por hay creo que no hay errores de vulnerabilidad por otro lado como podría implementar el sistema de log en el archivo de conexión y si es posible hacerlo lo mas seguro posible soy nuevo no se mucho pero me defiendo por eso pido opinión para aprender ya y mas que todo en cuanto a seguridad para evitar al máximo vulnerabilidades




el resultado que muestra la consulta se guarda en
Código (php) [Seleccionar]
$resultado_nosotros=$row["nosotros"]; y eso se imprime en un <div> <?php echo $resultado_nosotros?> </div>

Mod: No hacer doble post. Los códigos van entre etiquetas GeSHi.