安全上要注意的点:
1.做好路径被频繁请求的屏蔽,比如验证码,
1.前台页面传来的参数全不可靠,后台接收时和保存前要做参数过滤和数据检查
1.越权操作,(不同级别,平级越权)
1.数据库字段长度的限制
1.敏感信息的加密处理
1.防注入,后台参数和sql的写法
1.需要走电科院测试才能更新版本,自己留好后门进行自动更新版本的操作,(这个很6,可以将sql和配置写在前台页面,通过替换xml页面配置文件,来更新版本。当然这个xml文件是要加密的,然后存到库的对应数据都是密文)
一开始,为了防止用户的平级越权,(a用户通过了登录验证,进行查询时,给了b的sfz,查出b信息),我们在每个查询的时候都加了一段根据登录信息拿相应userId的操作,发现,为了防越权做了很多操作。
后来某架构师给了我们些建议:有些细化到按钮或者一个点的权限,都存到库的时候,如果各种权限交合在一起,会以笛卡尔积的形式扩增导致数据库查询的压力,后期权限可能会存几千万条。
他们是通过路径来判断权限的,所有页面请求路径,先经过一个filter,每个功能菜单menu定义一个唯一路径,经过filter分析用户有没有该路径的请求权,没有重定向的登录,即可做到屏蔽的效果。