Security SAAS启动数据库模式和安全注意事项
我将首先投入到一个SAAS项目中,我已经组建了一个小团队来进行生产。在大多数情况下,我们已经计划好了所有功能,但我现在需要开始考虑数据库体系结构和安全问题 是否存在与普通web应用程序项目不同的安全问题,因为您可能有数百个用户 就数据库而言,我整天都在阅读关于数据库设计的帖子,我想我会用一个数据库来处理所有事情,但我想知道这是否会变得缓慢?假设您有一个包含30000条记录的“clients”表。这难道不会比为每个客户加载一个db慢很多吗 此外,注册和我的客户信息是否应该与实际的SAAS应用程序放在同一个数据库中。换句话说,如果一个用户来到我的网站并注册免费试用,那么他应该进入一个数据库,而他的所有团队和客户等都进入实际的产品数据库,还是应该只进入一个数据库 在此之前还有其他考虑吗?我将在Codeigniter框架上构建它。以下是一些想法: 安全性 你将从拥有更大用户群的潜在黑客那里得到更多的关注,但在大多数情况下,你的安全顾虑应该是一样的(只是有人发现并利用安全漏洞的几率和后果要高得多) 我不知道你们对Codeigniter了解多少,但它内置了许多安全特性。这里还有你想要的任何站点的一般安全功能Security SAAS启动数据库模式和安全注意事项,security,codeigniter,saas,Security,Codeigniter,Saas,我将首先投入到一个SAAS项目中,我已经组建了一个小团队来进行生产。在大多数情况下,我们已经计划好了所有功能,但我现在需要开始考虑数据库体系结构和安全问题 是否存在与普通web应用程序项目不同的安全问题,因为您可能有数百个用户 就数据库而言,我整天都在阅读关于数据库设计的帖子,我想我会用一个数据库来处理所有事情,但我想知道这是否会变得缓慢?假设您有一个包含30000条记录的“clients”表。这难道不会比为每个客户加载一个db慢很多吗 此外,注册和我的客户信息是否应该与实际的SAAS应用程序放
- 正确使用CI的Active Record DB类以避免MySQL注入漏洞
- 确保您正在对密码进行哈希和加密(每个用户的加密是好的,同时确保您的哈希算法是安全的-即,不是MD5)
- 另外,还要确保任何其他机密都以某种方式进行了加密——Codeigniter为此提供了一个库,只要您的服务器上有mcrypt支持,这是相当不错的
- 确保过滤用户输入以防止XSS(跨站点脚本)攻击。Codeigniter有一个尝试过滤掉这些内容的特性,但是它并没有很好地实现
- 确保权限检查是无懈可击的,这样用户就无法访问不属于他们的信息
- 每个ip限制每小时执行某种登录尝试
- 正确使用CI的Active Record DB类以避免MySQL注入漏洞
- 确保您正在对密码进行哈希和加密(每个用户的加密是好的,同时确保您的哈希算法是安全的-即,不是MD5)
- 另外,还要确保任何其他机密都以某种方式进行了加密——Codeigniter为此提供了一个库,只要您的服务器上有mcrypt支持,这是相当不错的
- 确保过滤用户输入以防止XSS(跨站点脚本)攻击。Codeigniter有一个尝试过滤掉这些内容的特性,但是它并没有很好地实现
- 确保权限检查是无懈可击的,这样用户就无法访问不属于他们的信息
- 每个ip限制每小时执行某种登录尝试