安全是一个复杂的问题,很难回答模糊的问题。
一些概括。
如果在同一服务器上共同定位数据库和应用程序是有意义的,那么您应该这样做并禁用对数据库的所有远程访问。缺点是这限制了您使用单独的数据库和应用程序服务器进行扩展的能力。
您还需要确定是否需要复制。如果你这样做,你需要允许访问,而如果你可以逃脱它,你不应该。
您需要严格控制用户名和密码。我实际上使用密码生成器来获取应用程序访问的用户名和密码,但是你走多远取决于你。
您应该假设有人可以访问您的数据库。每个“用户”应该只具有用户执行该作业所需的权限。当有人闯入时,每个用户可以做得越少就越安全。您可能需要创建多个用户,这样您的应用程序的每个位都可以完成他们的工作,而且只能完成他们的工作。
最后,您应该考虑获得对数据库的访问权限的后果。我认为健康记录需要极高的安全性。您可能会在数据库本身中考虑某种形式的加密/混淆,但我自己从未需要这样做,所以我不能发表评论。
禁止来自应用程序服务器IP地址以外的所有IP地址的连接。并确保使用DB的应用程序没有安全漏洞。 :)
md5('your-password') 不够安全,尝试类似的东西 md5(md5('your-password').'your-password') 。
md5('your-password')
md5(md5('your-password').'your-password')
只有几个我的头顶...
确保你不允许 SQL注入 从你的申请。