我正在努力寻找最佳实践,因此非常感谢任何链接或研究阅读材料或任何Google搜索字词。
我是当地慈善组织的志愿者,是一个托儿所。
我们有一个mysql数据库,其中包含各种包含子项和表格的表格。家长信息,发票,员工转职等。
我们希望尝试安全的在线访问,以便家长查看自己的联系方式和发票。
我的问题是,允许网站访问主数据库是否安全。它将是第二组userPermisions,只对选择表而不是整个数据库具有读访问权限。 我不希望网站打开一个洞,以允许用户获取我们的所有数据或破坏或破坏主数据库。
或
我应该创建一个网站可以访问的第二个数据库,并让主数据库与第二个数据库同步吗?如果我们决定允许家长编辑自己的联系方式,在线支付发票,我可以看到未来的问题。
Web特定详细信息将保存在第二个数据库中,例如用户名密码,论坛等
以前没有尝试做过任何事情,也不知道从哪里开始研究。
亲切的问候
马特
答案 0 :(得分:0)
安全是一个持续的过程 - 其中一部分是确保正确识别和授权以及深度防御 - 确保用于访问数据库的帐户具有最少的权限,并且暴露给该帐户的表面区域是最小的。此外,如果数据库与Web服务器位于同一台计算机上,那么确保损坏Web服务器也不会危及数据库。
您还必须应对标准的社交元素 - 确保用户有办法获得他们的第一个密码/设置帐户,维护自己的密码。您不应该存储他们的密码(甚至是加密的),而是只存储盐渍哈希。当他们忘记密码时,自行重置密码,因为网站不能也不应该通过电子邮件向他们发送永久密码。
你应该知道XSS(跨站点脚本攻击),SQL注入 - 你应该能够在大多数关于Web应用程序开发的讨论中找到对它的引用。
答案 1 :(得分:0)
通过让用户界面可以访问第二个slave / read-only数据库,你当然无法伤害。如果操作正确,MySQL grants可以将用户限制为只读操作,因此从功能的角度来看,不需要必要来拥有第二个数据库。也许,鉴于您的业务性质,可能存在合法的原因,您必须拥有第二个数据库。请务必调查requirements for protecting PII(例如HIPPA)