如何提升Web项目安全性(经验小结)

前言

本文小结一下我做Web项目设计和开发以来,所用到的提升系统安全性的策略和方法。

一、网络、传输

1、IP白名单,IP黑名单

2、用Https代替Http,相关内容可参考我的这篇文章

3、更安全的数据摆渡方式(比如:用光盘刻录和摆渡涉密数据)

二、前端、后端

1、Token校验用户身份
比如:在.Net Core里使用JWTToken

        /// <summary>
        /// 首页列表接口
        /// </summary>
        /// <returns></returns>
        [Authorize(Policy = "AllUser")]
        [HttpGet, Route("GetFirstPageList"), ProducesResponseType(typeof(FirstPageResult), 200)]
        public Task<IActionResult> GetFirstPageList()
        {
            string token = HttpContext.Request.Headers["Authorization"];

            return ExecuteGetAsync(() =>
            {
                return Ok(_achievementService.GetFirstPageList(token));
            });

        }

在这里插入图片描述

2、USBKey登陆(类似于银行的U盾)

3、验证码–图形验证码、滑块验证等

4、前端反爬虫

5、后端Web API安全策略(比如:限制单用户单日的访问次数、限制单用户单日访问数据的总量)

6、记录操作日志

7、贯穿在系统设计和系统开发全流程中的数据加密、解密策略(该策略和下面提到的数据库层面的“透明加密策略”的核心都是对数据进行加密)

三、数据库、运维

1、保证服务器磁盘上的数据库源文件是已经经过加密的

数据库源文件为什么需要加密:我们的项目一直使用的是SQL Server,在某些场景下,数据源文件存在被直接从服务器磁盘上拷贝走的风险,而且数据库源文件是明文加密的,很容易被还原

对数据库源文件加密的具体方法:方法一:SQL Server自带的透明加密策略、方法二:透明加密中间件、方法三:某些第三方数据加密软件(比如:亿赛通)等

2、保证磁盘上的缓存数据等中间数据是已经加过密的(原理同上一条)

3、代码混淆,防止代码反编译

4、代码中或者文件中的敏感数据(数据库连接字符串、第三方应用的账号和密码等)加密

5、数据库安全技术

数据库安全技术主要包括:数据库漏洞扫描、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统等。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值