我希望保护数据库连接文件 - 报告像我显示的数据库错误是明智的。可能是攻击者可以通过读入db错误找出一种方法? - 有人可以举例说明如何安全地创建数据库连接文件? 以下是我连接文件的代码:
<?php
//Error reporting
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
/* Database connection settings */
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'customer_accounts';
$conn= $mysqli = new mysqli($host,$user,$pass,$db) or die($mysqli->error);
?>
答案 0 :(得分:1)
来自OWASP:
错误处理错误会给网站带来各种安全问题。最常见的问题是向用户(黑客)显示详细的内部错误消息(如堆栈跟踪,数据库转储和错误代码)。这些消息揭示了永远不应透露的实现细节。这些细节可以为黑客提供有关网站潜在缺陷的重要线索,这些消息也会对正常用户造成干扰......这些错误必须根据经过深思熟虑的方案处理,该方案将向用户提供有意义的错误消息,诊断信息对于网站维护者而言,攻击者没有有用的信息。
$mysqli = new mysqli($host,$user,$pass,$db)
if ($mysqli->connect_error) {
// Diagnostic information to the site maintainers
error_log($mysqli->connect_error);
// A meaningful error message to the user
// No useful information to an attacker
echo "Server error";
}