Tengo un sitio web simple donde establezco una conexión a un servidor Mysql usando PDO.¿Por qué PDO imprime mi contraseña cuando falla la conexión?
$dbh = new PDO('mysql:host=localhost;dbname=DB;port=3306', 'USER',
'SECRET',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
tuve algo de tráfico en mi sitio y el límite de conexiones servidores se alcanzó, y el sitio web lanza este error, con mi contraseña al descubierto en ella!
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08004] [1040] Too many connections' in /home/domain/html/index.php:xxx Stack trace: #0 /home/domain/html/index.php(64): PDO->__construct('mysql:host=loca...', 'USER', 'SECRET', Array) #1 {main} thrown in /home/domain/html/index.php on line 64
Irónicamente me pasa a PDO por razones de seguridad, por lo que esto me impactó, porque este error exacto es algo que puede provocar muy fácilmente en la mayoría de los sitios que utilizan las inundaciones http simple.
Ahora he envuelto mi conexión en un bloque try/catch, pero aún así creo que esto es catastrófico.
Soy nuevo en PDO y, por lo tanto, mi pregunta es: ¿qué debo hacer para considerar que es seguro? ¿Cómo establezco una conexión de una manera segura? ¿Hay otros agujeros de seguridad conocidos como este que tengo que tener en cuenta?
Ver: http://stackoverflow.com/questions/5811834/why -would-this-be-poor-php-code/5811853 # 5811853 Para un agujero cuando se usan nombres dinámicos de tabla/db/columna, y cómo tapar ese agujero. – Johan
Estoy totalmente de acuerdo con desactivar los errores de producción, probar/atrapar y cosas por el estilo, pero considere si tiene un "equipo" de programadores en el extranjero donde la contraseña no debe ser conocida por los programadores "junior", esto es, como dijo una fuga de seguridad "catastrófica". Sin mencionar, los programadores novatos que no se preocupan por desactivar los errores. Dicho esto, estoy desconcertado por esta decisión de revelar la contraseña por error. – IMB
Holy moly esto es ENFERMO! ¡OH DIOS MÍO! Esto es absolutamente escandaloso! Necesitas más votos positivos solo para mantener la calma y no entrar en CAPS RAGE. – Sharky