开发一套小型且完整的数据管理系统需要哪些知识?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发一套小型且完整的数据管理系统需要哪些知识?相关的知识,希望对你有一定的参考价值。

mongodb 做数据库nodejs写服务端html + css + js 写浏览器端需要哪些知识很难说得准确,业务是一定要懂的,基本的技术如各环境的api,js语言,页面设计与重构也是必须会的,再往上说,整个系统的架构设计,底层数据结构设计,算法设计,其实不是需要哪些知识,而是,你会的就用得上,如果你会,我想大数据,机器学习都是可以用上的。 参考技术A 以我个人的观点来看,如果想开发一套小型,且完整的数据管理系统那么我们就需要懂得各种网络知识,而且还要知道有关计算机方面的内容,比如计算机该如何进行优化与设计,这些都是我们比不可少的常识有了这些知识,我们就能开发出一套小型完整的数据管理系统。 参考技术B 关系数据库的理论基石,关系模型与关系代数,SQL语句,事务的ACID特性。
更高级一点的知识点有:如何建立有的地索引,如何为系统建立合理的视图以保证数据安全合理的访问,查询优化,存储过程与触发器,数据库安全
参考技术C 你就先用常规的一体化framework,例如django这类(有java基础的可以考虑play)起步,比如django,内置就有admin form,会省很多事,还可以学习别人的设计方法。
写个小的MIS,需要的“技术”通常不回很酷很复杂,都是常规技术。但是要做完整,需要项目分析和设计的经验、知识。需要耐心写大量的curd。搞不好还要做一堆报表。挺长知识的,但是也很考验毅力。
参考技术D 就我所知,如果想开发一个小型且完整的数据管理系统,首先要懂得统计学的知识,和计算机基础理论,并且能够熟练的使用计算机,妖精统计学知识与计算机知识,合理的联合在一起

重要的接口需要做哪些检查(转)

出处:  重要的接口需要做哪些检查

 

在软件开发中有一些接口需要做特殊的检查,以防黑客使用这些接口的漏洞来攻击我们的系统,给公司造成损失。

 

0x01:用户注册接口

一、每一个完整的软件系统都有一套完善用户体系,注册接口至少存在以下风险点:

  • 存在被机器人进行批量注册、产生大量僵尸用户

  • 恶意注册

如果存在被机器人批量注册的漏洞,就可能造成正常用户无法注册的情况。因为机器人批量注册时,可能的导致系统带宽、服务器资源被大量占用。

 

二、注册接口需要进行如下检查

  • 是否实现了人机识别,防止机器注册

  • 是否接入风控系统,防止褥羊毛的小号注册。很多app进行地推时,都对新用户进行一些优惠

  • 是否实现了对同一个设备访问注册接口的频率限制

 

0x02:登录接口

只要黑客攻破了登录接口,系统就没有任何安全性可言了。所以登录接口一定要防止系统账号对系统的暴力破解。

  • 登录接口是否实现了人机识别,防止系统账号暴力破解

  • 是否实现了同一个设备对该接口得分访问频率的限制

  • 登录身份验证失败时,是否做了模糊处理,比如“用户名或者密码错误”;而不是使用明确的错误信息,例如“用户名错误”,“密码错误”。等明确错误提示。

 

0x03:忘记密码接口和修改密码接口

忘记密码接口和修改密码接口,是否做了严格的身份认证。

  • 是否在服务端进行了身份认证,避免绕过前端控制

  • 身份验证的凭证是否在服务器进行了存贮和加密处理,避免将验证的内容直接返回给客户端

  • 在多个环节的身份验证中,要有各验证的排序机制,防止跳过多个环节认证的任何一个环节,而直接跳到最后一个环节的认证

  • 确保短信验证码发送到的是经过验证的手机号、邮箱地址。例如手机号、邮箱地址是从系统数据库中读取的手机号和邮箱

     

0x04:重要接口是否有短信、邮件、语音、图形等验证码

短信、邮件和语音验证功能控制不当,容易被恶意利用;造成短信炸弹、邮件轰炸和电话轰炸等滥用问题。短信、邮件和语音验证功能如果设计存在缺陷,容易被破解,给公司造成损失。

  • 验证信息是否具有一次性,防止回放。服务端在收到一次性验证请求后是否对验证信息进行了失效处理

  • 是否对验证发送的频次进行了有效控制,建议60s获取一次

  • 验证码是否有有效期;超时后是否实现了实效处理。建议短信验证码有效时间为60s或者120s

  • 短信、邮件和语音验证接口是否实现了人机识别,防止恶意攻击、恶意调用

  • 验证码对应的验证业务场景是否做好了严谨的逻辑控制。所有验证逻辑应该在服务器完成, 防止绕过前端控制

  • 如果能够实现,最好完成短信、邮件、语言接收手机/邮件与账号的对应关系的验证

 

0x05:支付接口和提现接口

所有的系统,关系到钱的问题都是大问题。所有支付接口一定要实现防篡改功能。

  • 是否实现了对支付金额、购买商品数量的校验,避免出现低价购买或者负金额购买。购买的支付金额最低是零元购买

  • 是否进行了多重身份验证,如短信验证码验证、支付密码验证等

  • 是否对提现账号进行了有效的身份验证,避免出现交叉越权,提现别人的金额

  • 是否对支付或者提现金额做了非常有效的校验,防止出现提现金额被篡改

 

以上是关于开发一套小型且完整的数据管理系统需要哪些知识?的主要内容,如果未能解决你的问题,请参考以下文章

Java软件工程师主要学习哪些课程?

大数据需要掌握哪些技能

这一套完整的后台管理系统(附源码),你看过没

Spring boot2.0 + Vue脚手架项目源码,中小型管理系统开发神器。

Spring boot2.0 + Vue脚手架项目源码,中小型管理系统开发神器。

一对一直播系统源码开发需要用到哪些技术