我想使用 mysqli_errno()
将 MySQL 错误号发送到一个页面,告诉用户
“此代码有错误,如果这种情况仍然存在,请将此代码发送给网站所有者,电子邮件地址为 email@example.com”。
我看过一个类,展示了如何将 mysqli_error() 消息抛出到错误页面,但我不希望用户看到描述性文本,而只看到代码。
这安全吗?
显示 MySQL 错误代码不会威胁我网站的安全吗?
我想从错误代码中受益来解决问题。您建议其他技术吗?
最佳答案
不要这样做。暴露服务器基础设施的详细信息是一个安全缺陷。如果攻击者知道您正在使用 mysql,他们可能会尝试利用 mysql。最好将此信息保密。
相反,您应该为您的客户端创建一个服务接口(interface),他们可以登录该接口(interface)来读取错误日志。您可以为每个错误生成一个唯一的 ID (guid),并将错误保存在由同一 guid 键入的数据库中。然后,您可以以某种方式将该 guid 返回给客户端(例如,作为 header )。您的客户端可以获取此信息并使用您的管理/错误服务在数据库中查询与该 ID 相关的错误。
我知道这听起来很复杂,但安全性确实很复杂。有一些方法可以简化这一过程——例如 COTS 工具,但它们基本上都遵循这种模式。
关于php - 是否向普通用户显示 mysqli_errno 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42362008/