Php 启动异常时的Zend Db表显示Db用户和密码。如何阻止它?
我使用Zend_Db_表来管理我的MySQL连接。 它们工作得很好,但只有一个巨大的安全问题 如果出现错误,如MySQL关闭,ZF将抛出数据库连接用户名和密码异常 例如,我在配置中设置了错误的db密码。 这是抛出的异常Php 启动异常时的Zend Db表显示Db用户和密码。如何阻止它?,php,zend-framework,Php,Zend Framework,我使用Zend_Db_表来管理我的MySQL连接。 它们工作得很好,但只有一个巨大的安全问题 如果出现错误,如MySQL关闭,ZF将抛出数据库连接用户名和密码异常 例如,我在配置中设置了错误的db密码。 这是抛出的异常 exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)' in /Users/cla
exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)' in /Users/claudiocanino/Dev/htdocs/include/Zend/Db/Adapter/Pdo/Abstract.php:129
Stack trace:
#0 /Users/claudiocanino/Dev/htdocs/include/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:dbname=ci...', 'root', 'rootads', Array)
#1 /Users/claudiocanino/Dev/htdocs/include/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#2 /Users/claudiocanino/Dev/htdocs/include/Zend/Db/Adapter/Abstract.php(459): Zend_Db_Adapter_Pdo_Mysql->_connect()
...
这里是清晰的用户名和密码。
如何修改Zend_Db_Table类,使其不在异常中显示合理的信息
感谢您不用更改显示错误选项或生产环境设置,您可以定义ErrorController 对于生产系统中的项目,几乎必须配备ErrorController。它捕获应用程序由于应用程序逻辑缺陷引发的任何异常,或者捕获没有任何关联控制器/操作或与路由器中定义的任何模式不匹配的任何URL
有关为Zend项目设置ErrorController的更多详细信息-如果更改为
生产环境
环境,则不会显示堆栈跟踪。事实上,没有显示任何异常,只是您在ErrorController
/视图中定义的异常。还可以查看php.ini中的资源.frontController.params.displayExceptions
设置。如果它是1
(或非零),则无论环境如何,都会显示异常。在我的php.ini中,我将error\u reporting设置为0,并将display\u errors设置为Off。代码中还有错误报告(0);但它仍然显示出同样该死的错误。你知道吗?谢谢各位