软件开发我们其实并不陌生,软件开发安全问题也成为了重中之重。那么从软件开发初期我们就要想好安全问题如何处理。那么今天小编就跟大家探讨一下软件开发都有哪些安全问题,又是如何处理的。
数据安全
这里我们就必须要提到数据库。我们需要检查软件,所在目录的文件权限、数据库文件的安全性、日志、敏感文件数据的储存等等。这时我们需要将权限必须为不允许其他的人读写,那么重要的信息,要进行加密储存。特别敏感的信息,调试信息必须要关闭。再将文件保存到外部储存之前。需要在内容进行加密。
debug调试
软件在准备上线之前必须要确保关闭了调试属性。调试属性开启后会存在。特别高的风险。
认证失败需锁定
测试软件用户端,是否限制多次尝试登录请求。防止多次使用穷举办法,破解用户密码。这里我们需要在服务器编写账号锁定的策略逻辑,当一定时间内多次输入密码错误时,对该账号进行锁定以防止通过暴力猜解密码。
单点登录限制
测试是否一个账号同时登录多个设备。这就需要在服务器进行账号登录验证时有限制对应的逻辑代码。通过session或标志位的方式。限制同一时间只有一账号能够登录。
会话超时
测试用户在一段时间内没有任何操作的情况下。是否使用重新登录?超时是否合理?在逻辑阶段编写时,我们需要设定时间,无操作时自动退出账号或者是关闭服务器通信。
安全退出
测试在客户端退出时是否会和服务器进行通信以及保持退出及时性。保证客户端和服务器同时退出,软件退出时服务器端关闭通信。
密码修改校验
检查客户端用户进行密码修改时的安全性。这里需要用户在修改密码时,需要提供原密码输入验证身份的逻辑。以防cookie登录修改密码。
任意注册
什么账号都可以注册是最有风险的。账号必须实名制注册。这样就可以防止大量的恶意注册账号。大量的注册账号时可能造成恶意操作等问题。
短信验证
短信验证对于暴力破解是一种很好的防御手段。但是如果验证码没有使用的期限。那么就无法发挥防止暴力破解的效果。在逻辑中,我们要设立验证码只能使用一次。并且短信验证在五分钟之内有效。