Web2.0架构(小迪网络安全笔记~

news/2024/12/4 23:06:30/文章来源:https://www.cnblogs.com/sjjjjer/p/18587455

附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!

1.1.1 Web2.0架构

  1. 目前大部分Web资产架构为

    1. 通过ip/域名进行资产访问
    2. 资产基本组成:操作系统 + 中间件 + 源码 + 数据库
  2. ip/域名

    1. 关系:不同域名通过DNS协议被解析为不同/相同ip,通过域名对Web进行访问,实际也是通过ip访问Web。那为什么还要对Web使用域名呢?域名更方便记忆与管理。

    2. 使用:

      一般而言企业/个人想要使用域名,则需要申请备案且支付费用。站在我自己的角度,为了避免麻烦与节约成本,往往仅会备案一个域名(称该域名为主域名)。但一个Web需要向用户提供的服务是很多的,一个主域名显然不够,为了实现更多的功能点而又不想备案/购买多余的主域,此时则需要子域名来完成。

    3. 访问方式:上述提到,我们常常通过ip/域名对Web进行访问。但由于Web结构的复杂与功能点的多样,因此会产生不同的访问方式。

      1. 通过端口号进行访问

        image-20241116224859745

      2. 通过目录进行访问

        image-20241116224933932

      3. 通过子域进行访问

        image-20241116225058151

        当然若了解url组成,也就很好理解这三种访问方式,同样这三种方式也可相互结合访问。

  3. 操作系统

    1. 满足不同需求的Web资产,可能会搭建在不同操作系统的服务器上。而使用不同操作系统所搭建的Web,其搭建/运维/渗透方式也会有些许差别。
    2. 会使用搭建Web的操作系统
      1. Liunx,Windows,Mac。
  4. 中间件

    1. 中间件常常为某软件,被搭建在服务器上,常负责处理转发来自客户端和服务器端的请求,是客户端与后台服务器的桥梁。
    2. Web2.0中常使用中间件
      1. Apache:通过php实现的Web常常会部署至Apache上
      2. Tomcat:Java web部署至Tomcat上
      3. IIS:asp,.net部署至IIS上(少见)
      4. Nginx:提供反向代理与负载均衡,实现服务端的高性能高并发。
  5. 源码

    1. 众所周知,计算机的所有功能均通过代码实现,而Web也不例外。

    2. 常用于Web开发的语言:

      1. Java、JavaScript、Go、Php、Asp等
    3. 使用语言开发Web的方式

      1. 原生开发,即所有功能均由开发者自己实现。
      2. 框架开发,开发者在已有框架上进行开发,高效、安全、快捷。
    4. 各语言常使用的开发框架

      1. Java:Springboot...

      2. Js:Vue、node...

      3. Php:Thinkphp...

      4. Python:Django...

        即使使用开发框架开发Web,一旦客户需求、Web功能点等变多,仍会使开发者有很大工作量,那有没有更简单实现Web开发的方法呢?

    5. Web源码类型

      1. 源码开源:对于开发水平较弱或对Web要求不多的用户而言,往往使用开源源码,无需额外考虑源码结构、逻辑等,仅填充内容即可。更快、更方便、成本更低,但安全性也相对较弱,一旦开源源码存在安全问题,则使用该源码的Web可能均会遭殃。

        开源源码:zblog

      2. 源码加密:相较于完全开源,源码可见,加密后的源码往往不可读,更安全,但同样也存在被破解的可能。一旦被破解则与开源无异。

        加密源码:通达OA

      3. 源码闭源:基于原生&框架,开发者自己开发,源码完全不可见,更不易产生/发现安全问题。

  6. 数据库

    1. 与Web服务伴随的常常会存在数据库服务,数据库中常常会存储用户信息、余额等。且由于数据库的存在,不同用户对同一域名访问会返回差异性的Web。这同样也是Web2.0的重要特性。

      数据被放置在数据库中以实现数据的传递,交互。

    2. 常见数据库

      1. Mysql、MongoDB、Access等。

        由于数据库往往会存放,用户/管理者的敏感信息,为了避免当Web被攻击时数据库也遭殃,因此不同开发者对数据库的部署也会有所不同。

    3. 数据库的部署方式

      1. 本地部署,即Web服务与数据库服务部署在同一服务器上,traits:源码数据库配置文件中,127.0.0.1:3306/localhost:3306,此时若拿到其Web服务器权限则其数据库权限也一并拿到。

      2. 另一服务器部署,即Web服务与数据库服务部署在内网不同服务器上,则即使拿到Web服务器权限,也不一定获取其数据库权限。

      3. 云上部署,即数据库被部署至云上,而云数据库服务会默认开启连接白名单,即使拿到云数据库配置信息也无法直接连接。

        注:数据库具体如何部署一定是看开发者是何种需求,并不是因为云/另一服务器更安全而所有开发者都要使用。

  7. 实验

    1. 实验内容:在云服务器上通过宝塔部署zblog系统,并将数据库部署至云上。

    2. 步骤

      1. 阿里云租一台Win Server服务器并通过远程桌面连接

      2. 在该服务器上安装宝塔面板,并通过该面板安装Apache,php

        image-20241117210856910

      3. 部署zblog源码于网站目录下

      4. 尝试访问

        image-20241117211115087

        zblog成功部署

      5. 在阿里云上开通云数据库服务,并部署zblog数据库

        image-20241117220428189

        ps:记得云数据库服务配置白名单

        image-20241117220008501

        zblog云数据库部署完成,试验结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研途无忧-beta冲刺

研途无忧-beta冲刺 一: alpha冲刺后项目还存在的问题及其探索思路和解决过程问题一:页面详情和加油站的数据同步问题 详细描述: 当前页面详情和加油站的数据同步功能尚未实现,包括点赞、收藏、评论和关注等功能。此外,发布帖子页面也尚未完善,需要进一步开发和优化。 探索…

75种K线基本形态

通过上一期的内容,我们已经了解了K线的绘制方法和关键因素,K线所包含的信息是极为丰富的,就以单根K线而言,一般上影线和阴线的实体表示股价的下压力量,下影线和阳线的实体则表示股价的上升力量。上影线和阴线实体比较长就说明股价下跌动量比较大,下影线和阳线实体较长则说…

我用了这款插件,工作效率大大提高啦~

备忘快贴 uTools 是一款呼之即来,即用即走的工具集软件。 备忘快贴是一款全新设计的备忘录 utools 插件,区别于手机自带的备忘录功能。传统的备忘录只是在需要时记录信息,而备忘快贴则不仅可以记录内容,还能轻松复制和粘贴,便于在多个场合使用。这款软件特别适合需要频繁编…

CDCL算法

1. CDCL伪代码 CDCL(CNF):副本 = CNF // 创建CNF的副本,不更改原CNFwhile true:while 副本含有单位子句:对副本使用单位传播;if 副本中含有取值为假的子句: // 发现冲突if 现在的决策层是0:return false; // 不能满足C = 子句学习(CNF, 副本) // 吸取教训根据C回到一个更早的决…

零基础快速入门软件测试

一、项目 1. 项目成员先简要了解一下软件项目组中所涉及的一些重要角色及关键词项目:软件研发项目,包括从前期项目预研、立项、组建项目团队、设计开发软件、测试调试、交付验收,以及软件运营等各项具体的工作 项目经理:软件项目的总负责人,既需要有广泛的计算机专业知识,…

全球气象数据ERA5的下载方法

本文介绍在ERA5气象数据的官方网站中,手动下载、Python代码自动批量下载逐小时、逐日与逐月的ERA5气象数据各类产品的快捷方法~本文介绍在ERA5气象数据的官方网站中,手动下载、Python代码自动批量下载逐小时、逐日与逐月的ERA5气象数据各类产品的快捷方法。ERA5(fifth gener…

高性能计算-NEON-图像旋转

1. 对512*512 png 四通道图像顺时针旋转90度 思路: 像素分块,对块内转置;再水平镜像。图像库使用 stb img 2. 代码 #include <stdio.h> #include <arm_neon.h>#include <stdlib.h> #define STB_IMAGE_IMPLEMENTATION #include "./stb/stb_image.h&quo…

使用自定义 MSBuild Task 阻止 git 的大文件提交

一个自定义 MSBuild Task 的实际案例NuGet Gallery | Jgrass.MSBuild.GitTask 前言 在 .NET 项目自定义 MSBuild Task 中提到,可以使用自定义 MSBuild Task 来实现自定义功能。 这里介绍实现的 git 提交大文件提交拦截功能。 引入 nuget 包之后,设置好要拦截的大小,内置的 L…

ElasticSearch学习笔记

ES7.x和ES8.x的学习笔记1.ElasticSearch概述 1.1 ElasticSearch是什么 Elaticsearch,简称为 ES,ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上 百台服务器,处理PB级别的数…

不死的魔女与灾厄的少年

传闻......森林的深处里住着一位不死的魔女森林的深处,住着一位魔女。 她已经活了几十个世纪,每代王国的历史书籍中都有她的出现。 人们称她为: “不死的魔女” 寂静了百年的森林,在某一天,闯入了一个不速之客,他倒在了魔女的屋子前。 那是一个浑身染血的少年,不着片缕,…

地址冲突检测(DAD)

地址冲突检测(DAD) 目录地址冲突检测(DAD)一、前言二、免费ARP报文实验拓扑报文分析 一、前言 公网: public,互联网可以访问 ,地址必须唯一 私网:RFC1918隔离公网,安全复用 优点:地址段重叠使用 缺点:地址冲突 IPV6唯一本地地址 = IPV6私网地址,提供global id二、免…

2025年昆明理工大学MBA研究生招生人数

--昆工MBA考研、管理与经济学院、125100工商管理、125602项目管理、199管理类综合能力、F009 政治、F008政治+项目管理概论