PHP 错误暴露了数据库凭据

标签 php mysql security pdo database-connection

我一直在使用一个使用 PDO 连接到 MySQL 数据库的 PHP 应用程序。每当连接出现故障时,我们都会收到如下错误:

PHP PDO Error

在更新服务器详细信息或向集群添加新服务器时,通常会发生这种情况,并且最终用户偶尔会看到这种情况。我特别担心,因为产生的错误会暴露用于数据库的连接详细信息。是否可以更改错误报告,以便我们在不包含连接详细信息本身的情况下显示错误是什么?

最佳答案

这就是您要找的吗?

try {
    $rs = $db->prepare('query_here');
    $rs->execute();
    $foo = $rs->fetchAll();
} catch (PDOException $e) {
    die("Oh noes! There's an error in the query!");
}

在生产中,如果您无法访问“php.ini”文件,则设置error_reporting(0),如果您可以编辑“php.ini”文件,则设置display_errors = off .

关于PHP 错误暴露了数据库凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21330753/

相关文章:

php - 如何将日期发布到表格

php - FromJoomla MySQL 查询与外部数据库上的 where 条件

php - 如何使用来自两个不同mysql表值的x轴和y轴数据创建php折线图?

php - mysql_real_escape_string 是否足以反 SQL 注入(inject)?

java - 从 512 位字符串创建公钥

php - curlopt_binarytranfer 到底是什么意思?

php - symfony html2pdf 不渲染 pdf 的问题

sql - "people you may know"sql查询

asp.net-mvc - Azure Blob 文件存储策略

php - 如何使用密码保护目录但仍授予用户访问权限