在控制台日志中返回mysqli_error()是否会给网站带来安全风险



我有一个简单的网站表单,用户可以通过它输入数据(名称、地址、密码等等——这并不重要(。我使用jQueryajax调用将提交的数据发送到一个PHP文件,该文件反过来验证数据并将其添加到数据库中。

在ajax结果中返回mysqli_error()是否会带来安全风险?例如,错误消息可能会在控制台日志中显示数据库名称或字段名称。

它在生产中可以接受吗?还是我可以将所有错误发送到error_log()文件中。

是的,暴露这些信息会带来安全风险。这适用于所有PHP错误,而不仅仅是mysqli错误。这就是为什么您应该在生产中禁用display_errors

使用mysqli_error()会带来额外的风险,因为您使用它的方式可能不遵守该指令。如果您的代码有任何SQL注入,那么暴露的错误就是最重要的。它们不仅公开代码,还公开数据。

最好的方法是永远不要使用这个函数。只需启用自动mysqli错误报告,并像对待任何其他PHP错误一样对待它们。即使在开发过程中,手动检查错误也是不必要和繁琐的。

最新更新