FDP做为一个成熟的平台,在安全方面做了充分的工作。

-------以下安全策略已由FDP实现------

密码的加强

使用sha1算法 + slat(盐) ,来防止防止碰撞猜出密码

使用SystemService.entryptPassword()生成安全的密码,生成随机的16位salt并经过1024次 sha - 1 hash

保护cookie

使用HTTPonly状态的cookie,使js无法读出cookie

CookieUtils  setCookie  使用HTTPonly的Cookie

智能验证码

登录失败3次后,要求输入验证码

N秒内连续发X篇文章,要求输入验证码(未实现)

权限验证

controller每一个方法都有服务端权限验证

表单验证

前端使用js做表单验证,用户体验好。

服务端再做一次相同逻辑的的表单验证,安全性高。

请看: FDP的表单验证介绍

防止SQL注入

使用preparedstatement,用?占用符,禁拼接SQL

防止XSS攻击

  1. 对文本框防止xss
  2. 对于富文本编辑器防止xss

请看: 防止XSS攻击

-------以下安全策略需要开发人员编码实现------

属主检查

修改、删除数据时,做属主检查。防止跨会员删除数据

多用户平台,在删除记录时,要检查这条记录的主人是不是当前用户,是才可以删除,防止人为修改url中的ID参数删除其它用户的记录。

请在具体的controller中编码实现。

防止表单重复提交

网速较慢时,用户可以连续点击“保存”按钮:解决方案。1按钮变灰,2 使用token

按F5刷新页面会导致前面提交过的表单再一次提交,使用重定向来解决。

请在具体的controller中编码实现。

图片访问控制

普通图片,都是可以匿名访问的(如产品图片),只要知道图片的url,就可访问图片。

由于业务需要,系统接收了用户上传的身份证、营业执照的图片,这些图片需要保密,不能泄漏到互联网上。

这里要需要访问控制了。FDP已提供解决方案: 访问控制

请在具体的业务中编码实现。