我的网站有一个包含大约50个表的MySQL数据库。我努力使其尽可能安全可靠。
根据我们的发展计划,我们将在不久的将来增加一个论坛。
我不确定将论坛放在自己的数据库中,或者将其所有表插入现有数据库是否更好。我已经列出了以下两种方法的优点和缺点,我理解它们,并希望得到一些比我更有知识和经验的建议,几乎所有人: - )
赞成
缺点
赞成
缺点
你的想法? : - )
答案 0 :(得分:1)
从2个数据库中查询:
select db1.a.field1, db2.b.field2 from db1.a
inner join db2.b on (db1.a.id = db2.b.id);
只需确保您的连接字符串可以访问两个数据库 两个数据库都需要在同一台机器上。
答案 1 :(得分:0)
我证明了自己的方法是:
答案 2 :(得分:0)
合并到现有数据库中 优点
将论坛数据集成到现有网站更容易.. [ nope 。从编码的角度来看,在一个数据库上运行查询与另一个数据库之间没有任何区别。此外,您的查询本身可以跨数据库。]
可以将现有用户表合并到论坛中,因此用户无需重新注册即可开始使用论坛。 [<强>都能跟得上即可。是的,您可以这样做,但即使论坛表不在此数据库中,您也可以这样做。所以这是洗漱]
一体化备份。 [我认为你在这里抓紧。无论是一个数据库还是两个数据库,备份程序都是一样的。唯一的区别是你有1或2个文件]
缺点
我已经立即添加了大量的新代码,其中一些代码具有数据库访问权限,而且所有这些代码都是恶作剧的目标,这意味着我的原始数据库现在面临的风险更大攻击。 [<强>也许即可。如果新代码使用动态sql,和/或无法使用参数化查询,那么它无论如何都会被搞砸。此外,如果您的数据层允许用户在完全访问您的服务器的情况下执行查询,这对于大多数应用程序来说似乎都是标准的,那么表是否在同一个数据库中并不重要。有趣的是,MySql网站在一个月前就以这种方式破解了。]
更新论坛软件将更加亲力亲为,因为它不会是直接的数据库翻牌。 [?我不完全确定你的意思。我从未听过在这种情况下使用的“翻牌”一词。]
论坛和主站点的单独数据库 优点
轻松安装,测试,升级,拆除论坛[否.. 无论数据库存在多少,您都会遇到同样的问题]
论坛数据库安全漏洞不会使我的主站点处于危险之中(反之亦然)。 [取决于关于洞的类型以及确切实施安全性的方式]
缺点
集成到现有站点需要一次查询两个数据库。我怀疑编程会相当困难。 [不是。它具有完全相同的复杂程度。您的查询也可以跨数据库。]
用户必须在论坛上重新注册[ Nope。您可以在其他表中重复使用相同的用户表]
备份2个数据库而不是一个(这是次要的,但它是一个骗局)。 [我不同意,但我们的服务器上又有数十个数据库,所有备份都是自动化的。哎呀,一旦我们创建一个维护计划,就会自动将其添加到夜间备份计划中,所以甚至都没想到。]
坦率地说,我认为唯一可能的问题是新论坛内容如何访问数据库,以及该帐户为完成其工作所需的用户权限。如果做得好,则没有问题;但如果它完成了方式错误,那么唯一真正的保护就是将论坛软件放在它自己的数据库服务器上......即便如此,它也可能导致问题。
但这应该通过适当的安全审核来确定。