因此,这与代码本身关系不大,更多关于效率和实用性。 在我以前的工作中,我们有多个数据库。可通过公共方式访问的方法,以及只能私下访问的方法。公共数据库基本上可以显示私有数据库所做的一切,它们几乎同步,每2分钟左右保持最新状态。 他们的想法是,如果公共数据库被某种类型的SQL注入或其他恶意破坏数据库而被破坏,那么它不会对生产造成伤害,并且可以立即恢复。
然而,这是一个非常小规模的操作,大约只有大约100人一次访问数据库,如果发生任何不好的事情,我很确定有人必须手动进入并恢复数据库来修复问题
我的问题是,这是一种正确的做事方式吗?这种策略什么时候开始变得极其低效?假设我每天有数以万计的查询,这是不可维护的吗?
感谢您的见解。
答案 0 :(得分:0)
第一道防线必须是软件访问数据库,有很多方法可以防止sql注入,如使用SP,发送参数而不是查询,... 虽然如果系统的用户提供具有私人数据库的数据(如本论坛)并不比拥有数据库副本(你说每2分钟同步一次,那么公共数据的任何变化都将私有数据库更改为好)。您可以使用不同的间隔拥有不同的数据副本,并在任何时候发生任何时候回滚到一个好的数据。
我曾经在银行工作,他们在磁带上制作副本!这是一次写入/只读磁带,以防发生大于sql注入的事情!