• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Web架构设计

武飞扬头像
BUG胡汉三
帮助1

        身份认证(Authentication):支持多种用户登录认证方式,由于受限与不同项目的客户要求和项目预算,可以根据实际情况选择登录认证方式,但保底必须使用用户名 用户密码 图形验证码的登录认证方式。

        授权(Authorization):使用RBAC权限模型对用户进行授权,授权的等级为URL级别、系统所有的资源都需要经过授权。

        访问控制(Access Control):网关进行统一用户鉴权、文件检查和XSS攻击SQL注入等攻击过滤验证,通过检查后才将请求放行。

        可审计(Auditable):提供可供追溯的操作日志。

        资产保护(Asset Protection):互联网通讯需使用https协议,请求体全加密。请求发送前需加签,接收后需验签。并对关键资源实施资源内容以及资源数量监控,当资源发送变动发送报警信息。

学新通

nginx(F5)

        这里最外面一层就使用nginx来做入口,当然有钱的并且有一定规模的肯定是上F5这些硬件负载均衡的。并且我们的静态资源(前端代码)也可以放在这里。前端资源因为是静态的、可以添加一些静态资源的监控、防止资源被篡改(给你的首页加张图....)。可以使用工具来监控,也可以自己写代码来进行监控。后期我们会在这里添加一个自己的静态资源监控。当收到请求后,根据请求的路径nginx自动匹配对应的location进行转发、前端的就返回前端静态资源、后端的请求就转发到应用网关上面去。

        前端发送来的加密请求、按道理应该在这一层进行解密、然后过滤各种XSS、SQL等攻击的、但是nginx的自定义模块开发......我不会C。所以后期会考虑使用openresty来替换nginx。所以这里的这些功能就先往下放了。

网关(应用网关)

        在应用网关这里、需要做的事情就有点多了。首先是要加解密;在对请求做XSS攻击、SQL注入等过滤验证;用户请求身份认证;用户访问鉴权;都通过了才会放行。对于上传的文件、也需要做一次文件检查。

        引入阿里sentinel来对请求进行熔断、限流等过载保护操作。防止请求过多业务系统响应不过来。

基础平台

        这里就是提供用户认证、鉴权的基座了。还有加解密的密钥也是在这里生成的。至于的用户权限方案就是采用的RBAC权限模型来做的。还有加解密方案后续的文章会一个一个地介绍到。

业务系统

        这里的业务系统就是指具体的系统业务模块了。

内部调用签名

        这里需要提一下的是、我们应用在内部进行调用的时候、最好也是要加上一次签名的。防止被内部发起模拟请求。如果对内部请求完全开放的话、是存在很大的风险的。所以可以使用SHA256等算法做一个内部请求签名认证。签名验签的密码盐可以放在redis缓存中。提高效率的同事减少放在配置文件暴露的可能性。当然、你的redis缓存得设置密码。

数据库

        数据库采用关系型数据库(MySql) 缓存数据库(Redis)。缓存数据库用户存储用户认证信息、鉴权信息、客户端密钥信息、等热点数据。mysql则用来存储业务数据。我们在存储敏感数据比如:身份证、手机号码等信息的时候需要进行加密存储。进一步防止关键信息泄露的可能性。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgakjke
系列文章
更多 icon
同类精品
更多 icon
继续加载