美文网首页
web后台开发安全事项

web后台开发安全事项

作者: ToufuDrago_c53f | 来源:发表于2019-07-25 14:49 被阅读0次

    一、安全意识

        不要把代码上传到github或写到博客。

    二、输入验证

        1.处理数据之前,先验证收到的数据是否符合业务逻辑,不要相信来自前端的数据。

        2.防sql注入。后台使用mybatis传值时使用#{}可以有效避免sql注入,因为#{}会将传入参数作为字符串处理。

    三、输出

        减少不必要的信息输出。别一个请求把不相关的大量信息返回。

    四、身份和密码管理

        1.身份验证的失败信息应该避免过于明确(账号或密码错误,而不应该指出账号不存在、密码错误)。

        2.三次登陆失败时要求输入验证码,或一段时间后才能再次尝试。

        3.找回密码等需要用到手机短信、邮件的操作,每次需要有1分钟的间隔,且请求中要部署只生效一次的token,避免“短信炸弹”。

        4.密码加密不能只用md5,必须md5 + salt。前端可以这样加密 : MD5(MD5(密码) + 验证码)(数据库保存了MD5(密码)  )。

        5.只用post方法传输用户凭证。

    五、访问控制

        1.网站没有对读取文件的路径进行限制,导致可通过../进行跳转读取服务器上的任意文件。对path参数进行过滤依次过滤”.”、”..”、”/”、”\”等字符,或对下载目录进行限制,只能下载指定目录下的文件,或将下载文件的路径存到数据库,用一个id字段对应该文件。

        2.对用户请求的信息进行身份判断。如通过id查看用户的购物订单,要验证请求的id与用户账号的id是否一致。

        3.设计阶段做好授权管理。

    六、日志

        必须要有日志。

        1.限制只有授权用户才能访问日志。

        2.不在日志存储敏感信息,如会话标识、密码。

        3.避免显示调试或堆栈跟踪信息。

    七、数据保护

        1.不以明文方式存储密码。

        2.不在get请求中传递敏感参数。

        3.敏感数据要加密脱敏处理,包括密码,身份证,手机号等。如135****2198。

        4.敏感数据使用加密连接(HTTPS)进行传输。

    八、上传文件

        1.使用白名单,检查上传文件扩展名白名单,不属于白名单内的不允许上传。

        2.上传文件的目录必须是http请求无法直接访问到的。如果需要访问的,必须上传到其他(和web服务器不同的)域名下,并设置该目录为不解析jsp等脚本语言的目录。

        3.上传文件保存的文件名和目录名由系统根据时间生成,不允许用户自定义。

        4.图片上传要通过处理(缩略图、水印等),无异常才能保存到服务器。

    九、第三方插件

        引用第三方插件时,搜索一下所用的版本是否有漏洞。

    相关文章

      网友评论

          本文标题:web后台开发安全事项

          本文链接:https://www.haomeiwen.com/subject/mtjhrctx.html