淘东电商项目(67) -互联网安全架构设计(方法论)

简介: 淘东电商项目(67) -互联网安全架构设计(方法论)

引言

本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

淘东项目的聚合支付模块博客至此已经写完,有兴趣的同学可以参阅聚合支付的文章:

本文开始讲解关于互联网安全架构设计的方案。

本文目录结构:

l____引言

l____ 1.互联网安全架构设计的方案

1. 互联网安全架构设计的方案

毋庸置疑,互联网安全架构这一块是非常重要的,如何保证互联网安全呢?

说到互联网架构的安全,肯定会涉及到的一个概念叫“网关”,下面来看看之前写的一篇博客里的图片《互联网并发与安全系列教程(14) - 基于Nginx实现API网关》

可以知道,对于开发人员来说,如果要做到后台的安全性,除了负载均衡服务器(Nginx)这一块需要做处理外,主要还是要对我们的API网关做出安全性处理,那网关有什么处理呢?下面贴出方案:

  1. 基于网关实现IP黑名单与名单拦截
  2. API接口实现Token授权认证
  3. 使用MD5实现API接口验证签名,防止抓包篡改数据
  4. 实现API接口安全加密传输(公钥和私钥互换机制)
  5. 基于Oauth2.0 实现API接口开放平台
  6. 接口参数使用网关实现防止XSS、SQL注入
  7. 定期工具实现代码健康扫描

对于第1点:解决方式是很简易的,只要我们设置好IP黑名单,当黑名单里面的ip访问我们的服务器前,会先经过网关,在网关里需要查询DB或Redis来判断该ip是否在黑名单内,如果是的,则拒绝访问。

对于第2点:基于Token指的是,用户必须携带正确的令牌才能访问,否则拒绝。

对于第3点: 使用MD5加盐,即客户端使用MD5对提交内容进行加签,传输的内容依然是明文的,到了服务器后,也使用MD5验证签名,如果签名没问题,说明数据是没有被篡改过的,否则拒绝访问。

对于第4点: 加密传输,在前面的“支付宝支付”场景(RSA加密)用到过,主要是客户有一个私钥,加密传输给后台,后台获取数据后,使用公钥解密,如果验证不通过,则拒绝访问。

对于第5点: 主要是在提供接口给第三方用到,第三方用户必须OAuth2.0验证通过后,携带验证通过后令牌访问我们的后台,后台判断是否允许其访问。

对于第6点: 主要是判断接口参数来防止XSS、SQL注入(可能描述不太清晰,具体的可以Google)。

对于第7点: 可以使用定时任务,检查代码是否有报错,如果有,可以收集起来,并通知相关的开发人员。

接下来的博客将以代码的形式呈现给各位童鞋们,让大家更加的了解其原理。

本文完!

目录
相关文章
|
20天前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
24 3
|
2月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
113 2
|
17天前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
64 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
50 6
|
1月前
|
存储 前端开发 数据可视化
在实际项目中,如何选择使用 Flux 架构或传统的 MVC 架构
在实际项目中选择使用Flux架构或传统MVC架构时,需考虑项目复杂度、团队熟悉度和性能需求。Flux适合大型、高并发应用,MVC则适用于中小型、逻辑简单的项目。
|
1月前
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
45 2
|
2月前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
49 2
|
2月前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
61 8
|
2月前
|
消息中间件 缓存 Java
亿级流量电商平台微服务架构详解
【10月更文挑战第2天】构建一个能够处理亿级流量的电商平台微服务架构是一个庞大且复杂的任务,这通常涉及到多个微服务、数据库分库分表、缓存策略、消息队列、负载均衡、熔断降级、分布式事务等一系列高级技术和架构模式。
98 3
|
2月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
56 2