2017-02-21 67 views
0

我想发送MySQL错误号码使用mysqli_errno()到页面告诉用户, '这个代码有错误,如果这仍然存在,请发送此代码给网站所有者在[email protected]'。是否显示常规用户mysqli_errno认为安全?

我已经看到一个教程,展示了如何将mysqli_error()消息引发到错误页面,但我不希望用户看到描述性文本,只是代码。

这是安全吗?

将显示MySQL错误代码不威胁我的网站的安全?

我想从错误代码中获益以解决问题。你建议其他技术?

+0

安全与否,这是完全没用的。您的用户无法调试您的代码库或修复您的服务器:) –

+0

@ÁlvaroGonzález谢谢,他们不能,但我认为可能有所帮助:) – malozaibi

回答

0

不要这样做。暴露服务器基础设施的细节是一个安全漏洞。如果攻击者知道你在使用mysql,他们可能会尝试使用mysql漏洞。最好保持此信息的私密性。

相反,您应该为您的客户端创建一个服务接口,以便他们可以登录以读取其错误日志。您可以为每个错误(guid)生成一个唯一的ID,并将该错误保存到由同一个GUID键入的数据库中。您可以随后将该GUID返回给客户端(例如,作为标题)。您的客户端可以掌握这一点,并使用您的管理员/错误服务来查询数据库中与该ID相关的错误。

我知道这听起来很复杂,但安全性很复杂。有很多方法可以简化这个 - 例如COTS工具,但它们都基本遵循这种模式。

+0

谢谢你的警告。我不会这样做。你是否减少了更好的解决方案? – malozaibi

+0

我已回复作为答案的一部分。感谢您建议它可能会更好。 –

+0

谢谢,我是一个初学者,但我会在将来使用你的技术,当我提高我的技能,最好的问候:) – malozaibi