Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/12/2011, 15:30
Avatar de Vitesse92
Vitesse92
 
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 15 años, 4 meses
Puntos: 5
Dudas con PDO php y Linux

Buenas! Primero que todo quiero aclarar que soy nuevo usando linux mint.
Luego, tengo una duda y no claramente un problema.

1- Ayer instale apache2 y php5 con mysql y phpmyadmin.
Ya viene pdo-mysql activado por defecto. Siempre que quiero hacer algo nuevo en php busco la documentación y lei esto:
If your application does not catch the exception thrown from the PDO constructor, the default action taken by the zend engine is to terminate the script and display a back trace. This back trace will likely reveal the full database connection details, including the username and password. It is your responsibility to catch this exception, either explicitly (via a catch statement) or implicitly via set_exception_handler().
Entiendo que si no captamos la excepción php por defecto muestra la contraseña y usuario utilizado... osea que si mi server falla el usuario que intento entrar al sitio tendría mi usuario y contraseña de mysql... eso es grave,..
Entonces puse un usuario y contraseña incorrectos y la aplicación me da un error 500...
y luego coloco el usuario y contraseña real y todo de puta madre,
alguien sabe por que pasa esto? no lo entiendo realmente... no tendría que dar un error 500, o si?

2 - Esta clase llamada safepdo esta abajo en los comentarios, a su punto de vista esta correcta?:
Código PHP:
Class SafePDO extends PDO {
 
        public static function 
exception_handler($exception) {
            
// Output the exception details
            
die('Uncaught exception: '$exception->getMessage());
        }
 
        public function 
__construct($dsn$username=''$password=''$driver_options=array()) {

            
// Temporarily change the PHP exception handler while we . . .
            
set_exception_handler(array(__CLASS__'exception_handler'));

            
// . . . create a PDO object
            
parent::__construct($dsn$username$password$driver_options);

            
// Change the exception handler back to whatever it was before
            
restore_exception_handler();
        }


Y esas son mis dudas,
__________________
Imagenes de amor y Imagenes de amor . 1313