如何处理pdo错误

时间:2018-03-02 17:54:03

标签: security pdo

我有一个问题,在PDO manuial的某个地方,我读到错误显示db连接用户名和密码(由于zend引擎中的缺陷)。我看到几个像这样捕捉pdo的例子:

    catch(PDOException $exception){ 
    return $exception; 
} 

如果返回异常,用户是否会看到错误?    禁用php.ini文件中的错误报告是否更好,甚至可以执行类似

的操作
  setAttribute(PDO::ERRMODE_SILENT)

而不是catch语句,或者更好的做到上面的组合并重做catch语句,这样它就不会将错误返回给用户。

这是指手册页上的粉红色段落:警告:如果您的应用程序没有捕获从PDO构造函数抛出的异常,则zend引擎采取的默认操作是终止脚本并显示返回跟踪。此回溯可能会显示完整的数据库连接详细信息,包括用户名和密码。您有责任通过显式(通过catch语句)或通过set_exception_handler()隐式捕获此异常。 php.net/manual/en/pdo.connections.php。

用户"您的共同感受"将此标记为重复,这是不正确的。我没有使用PDO的问题,它只是处理错误响应的问题,以及正确的错误处理方法。

0 个答案:

没有答案