Foros del Web » Programando para Internet » PHP »

DAO en php

Estas en el tema de DAO en php en el foro de PHP en Foros del Web. Hola a todos, llevo ya algún tiempo programando en PHP y me va bien... pero a cada paso que doy mas son los problemas que ...
  #1 (permalink)  
Antiguo 05/09/2012, 10:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 8 años, 11 meses
Puntos: 4
DAO en php

Hola a todos, llevo ya algún tiempo programando en PHP y me va bien... pero a cada paso que doy mas son los problemas que salen en el camino. En esto me doy cuenta de que mis aplicaciones web son muy inseguras, debido a que para interactuar con la base de datos escribo las sentencias SQL directas en mi aplicación.

He averiguado mucho sobre el tema, primero llegue al tema de los procedimientos almacenados, cosa que no sabia, esta es una herramienta muy potente pero al fin de cuentas encontré una gran limitante, que mis aplicaciones se hacen mas lentas a medida que tengo mas PA. El tema es que solo los debo ocupar cuando una consulta es muy grande, yo los estaba ocupando para todas mis sentencias.

Bueno me di cuenta del error y empece a buscar otras soluciones y llegue al tema del DAO. Es un tema que me tiene un poco complicado y por eso pasaba por acá, me preguntaba si alguno de ustedes tendrá algún manual o algunos ejemplos sencillos para clarificar mas el tema, se los agradecería mucho..

También sirve que me digan que estoy perdido ya que talves no es esa la solución a mi problema

Para no hacer otro tema también me gustaría preguntar lo siguiente: han escuchado sobre "dibujar" con php el codigo html para que un atacante al tratar de ver nuestro código fuente no pueda ver nada??

De verdad apreciaría sus opiniones y orientaciones
  #2 (permalink)  
Antiguo 05/09/2012, 10:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 5 meses
Puntos: 1532
Respuesta: DAO en php

yo te recomiendo PDO, y que estudies sobre SQL Inyection y la forma en que PDO te ayuda a resolverlo, luego puedes saltar hacia los ORM's como Doctrine2, entre otros.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/09/2012, 12:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 8 años, 11 meses
Puntos: 4
Respuesta: DAO en php

Mira encontre algo de PDO en la web, pero de verdad no creo que sea tan sencillo:

1) Una consulta directa sin retorno de datos (como un insert por ejemplo) la haria de la siguiente forma en mysql despues de haber conectado a la base de datos obvio:

$query = mysql_query( $sql);

2) Y dice que puedo hacerlo asi:

$cnn->exec("INSERT INTO usuario (id, cedula, nombre) VALUES(1, '1037610909', 'Alex');");

2 preguntas sobre esto:

1) Ocultaria esto la sentencia SQL a un atacante, como?
2)que pasa si yo hago en otro archivo todas las sentencias y la incluyo en esta parte, y llamo a una sentencia determinada encerrada en una variable(por ejemplo aca en $sql), eso ayudaria tambien??
  #4 (permalink)  
Antiguo 05/09/2012, 12:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: DAO en php

Es una forma de hacerlo (usando exec()), pero realmente lo mejor es usar PreparedStatements:
Código PHP:
Ver original
  1. $stmt = $cnn->prepare("INSERT INTO foo VALUES (?)");
  2. $stmt->execute(array("bar's"));

Etiquetas: dao, html, sql
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 01:26.