Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2014, 12:00
nimaki25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 13 años, 5 meses
Puntos: 1
Consultas a mysql con PDO, metodo correcto?

Estimados, nuevamente por el foro, en este caso para realizar una consulta mas que pedir ayuda en algo, tengo que hacer un pequeño sistema de avisos en mi lugar de trabajo, es algo simple, un formulario, se rellenan los campos, se cargan un par de fotos, luego una pagina que detalle todo lo publicado, y una pagina detalle de aviso, ademas de una seccion de administracion con un login donde se puede eliminar y hacer update de los avisos.
Estoy usando PDO, es nuevisimo para mi, igual php, me manejo un poco mas en c#, pero me salta la siguiente duda en tema de seguridad;

el maestro Triby , me indicó en una respuesta a un tema de subida de imagenes, que podia tener problemas de seguridad, me lei el tema que el mismo redacto sobre seguridad, inyecciones sql, etc y queria saber, si los mas experimientados en esto me peuden decir si estoy haciendo inseguro el metodo de trabajo, dejando en claro que no pretendo que sea seguridad nivel cia ni nada por el setilo, como bien dice Triby "no hay sistema 100% seguro" en el post. Actualmente estoy haciendo el crud de la siguiente manera:

Conexion a la Base de Datos:
Código PHP:
class conexion {
    
    
//Metodo conectarDB
    
public function conectarDB()
    {
    
$user="aaa";
    
$pass="aaa123";
    
$host="localhost";
    
$db="mibasedatos";
    
    
//instancia al objeto PDO
    
return $conexion= new PDO("mysql:$host;dbname=$db"$user$pass);
    
    }

    } 
Insertar Aviso:
Código PHP:
class publicaAviso  {
    
    
//Variables para Insert
    
public $mensaje;
    public 
$comuna;
    public 
$titulo_aviso;
    public 
$categoria_aviso;
    public 
$valor_producto;
    public 
$aviso;
    public 
$nombre;
    public 
$tel_celular;
    public 
$tel_fijo;
    public 
$correo_electronico;
    public 
$direccion;
    
    
//Metodo para Insertar en la DB
    
public function insertar(){
        
//establecemos la Conexion
        
$modelo= new Conexion;
        
$conexion $modelo->Conectar();
        
//Generamos la consulta
        
$sql "INSERT INTO avisos(comuna,titulo_aviso,categoria_aviso,valor_producto,aviso,
        nombre,tel_celular,tel_fijo,correo_electronico,direccion)"
;
        
$sql .= "VALUES(:comuna,:titulo_aviso,:categoria_aviso,:valor_producto,:aviso,:nombre,
        :tel_celular,:tel_fijo,:correo_electronico,:direccion)"
;
        
        
$consulta=$conexion->prepare($sql);
        
//usamos las propiedades para vincularse con los parametros
        
$consulta->bindParam(':comuna',$this->comuna);
        
$consulta->bindParam(':titulo_aviso',$this->titulo_aviso);
        
$consulta->bindParam(':categoria_aviso',$this->categoria_aviso);
        
$consulta->bindParam(':valor_producto',$this->valor_producto);
        
$consulta->bindParam(':aviso',$this->aviso);
        
$consulta->bindParam(':nombre',$this->nombre);
        
$consulta->bindParam(':tel_celular',$this->tel_celular);
        
$consulta->bindParam(':tel_fijo',$this->tel_fijo);
        
$consulta->bindParam(':correo_electronico',$this->correo_electronico);
        
$consulta->bindParam(':direccion',$this->direccion);
        
        
//comprobar de la consulta
        
if(!$consulta){
            
$this->mensaje=$conexion->errorInfo();
        }else{
            
$consulta->execute();
            echo 
"Aviso Publicado con Exito";
        }

    }
    

el eliminar, update pienso manejarlos con la misma estrutura del Insertar Aviso.

Agradesco desde ya a todos su tiempo y en comentarme su experiencia, o señalarme que puedo mejorarle para hacerlo algo mas seguro.

Saludos cordiales amigos