我应该使用1个数据库进行发布,配置和身份验证还是将其拆分?

1 php mysql database security

我基于PHP和MySQL从头开始设计一个类似博客的网站系统.它基于这种结构:

  • 一切都有唯一的ID,称为实体ID或ENID.
    • 主表包含所有ENID,因此没有重复项.
    • 有四种类型的实体:帖子,修订,模块和用户
    • 这就是id.php可以被要求提供网站上的任何资源,并知道如何处理它.
  • 帖子被归类为一个模块.例如,文档,消息,事件等都属于单独的模块.
  • 帖子引用要显示给用户的修订表中的特定行.

我想知道,最好将四个实体和主表分开在不同的数据库中,还是最好将它们全部保存在一个数据库中?安全是首要任务.

Ser*_*sev 5

我没有看到如何将这些东西拆分为单独的数据库本身可以提高安全性.它只会使您的应用程序代码复杂化而无需任何必要.

将它们存储在同一个数据库中,并将您的安全工作集中在其他方面:防火墙,sql清理等.

将认证信息保存在同一个数据库中是绝对可以接受的.大多数人这样做.只需确保不以纯文本形式存储密码(您应该存储盐渍哈希).