[TOC]
引言(Introduction)
随着互联网的普及和网站数量的快速增长,网络安全已成为企业和个人面临的重要挑战之一。恶意软件、网络钓鱼、数据泄露等安全威胁对网站和用户造成了严重的损害。因此,对网站进行安全性分析变得至关重要。安全性分析项目的背景源于对网站安全漏洞的发现和修复的迫切需求,通过对网站的结构、内容和行为进行全面审查和分析,以识别和防范潜在的安全威胁。
目前国内外已经有许多分析网站的项目,但普遍存在多而杂,页面不清楚直观的问题,以如下若干个网站举例:
https://nibbler.insites.com/
该网站实现了如下功能:
1,分析网站是否和twitter账号关联
2,分析网站是否含有分析软件
3,分析网站是否可以打印
4,分析统计网站每一页含有的单词数
5,分析网站的月访问量
6,分析网站的更新时间是否在最近
7,分析网站页面加载错误时,是否发送404信息
8,分析网站在移动端的适配性
9,分析网站的每一个网页是否都含有标题
10, 分析网站的每一页是否含有规范的网页头
11, 分析网站的每一张图片是否规定了图片大小
12, 分析网站内部的每个url链接是否被明确定义和引用
13, 显示网站在google浏览器被搜索到时的样式
14, 分析url的格式是否正确
https://gtmetrix.com/
该网站主要实现了如下功能:
1,显示网站加载需要使用的时间,并将其可视化(第几秒加载哪些网页组件)以及和平均值比较
2,分析网站加载占用的存储空间,并与平均值比较
3,分析网站代码和图片的组成成分(css,javascript,html,img)
https://builtwith.com/
该网站主要实现了分析网站所使用的语言(中文,英文,葡萄牙语,西班牙语等),适配设备(电脑,移动端),前端js框架(jquery,vue等),认证的平台,服务器名,SSL证书认证信息,网络服务提供商,网站所用服务器(tomcat,nginx等),copyright等信息的功能。
https://www.seobility.net/en/
该网站主要实现了如下功能:
1,分析网站的meta标签,包括关键词,概述,content-type,viewport,小图标,标题等是否添加
2,分析网站是否使用https协议,网站的单词的个数以及停用词个数,
3,分词网站的head头结构和信息
4,分析网站内嵌的外部url链接
5,分析网站是否有自动跳转,以及http响应头是否正常
6,统计网站出现频率最高的关键词以及robots.txt
7,分析网站在facebook上的热度(留言数)
https://sitechecker.pro/
该网站主要实现了如下功能:
1,分析网站的标题,描述信息的长度
2,显示网站的部分图片,显示其占用空间大小
3,分析网站url链接的脆弱性
4,分析网站内嵌的外部url链接
5,分析网站的相应时间
6,显示网站占用的内存空间大小
通过上述多个网站的分析,我们也可以从如下多个方面入手进行网站的分析:
1,分析网站占用的空间
2,分析网站页面加载所需要的时间
3,分析网站的url链接的脆弱性(是否存在链接过长的问题)
4,分析网站的更新时间是否在最近
5,分析网站页面加载错误时,是否发送404信息,是否有错误页面
6,分析网站在移动端的适配性
7,分析网站的每一个网页是否都含有标题以及分析标题的内容
8,分析网站的每一个网页是否含有规范的网页请求相应头
9,分析网站所使用的语言(中文,英文,葡萄牙语,西班牙语等),前端js框架(jquery,vue,react等),认证的平台,服务器名,SSL证书认证信息,网络服务提供商,网站所用服务器(tomcat,nginx等),copyright等信息
10, 分析显示网站可跳转的第三方url链接
11, 分析网站的关键词(出现频次最多的词)
12, 分析网站的语言组成成分(img,html,css,javascript)的占比
编写此软件开发计划书的目的是为了合理安排组织成员,有效利用时间,以确保项目进度,预见项目风险等活动。因此,我们以文件化的形式把对于在项目生命周期内的工作任务范围,各项工作的分工,项目团队的组织结构,各团队成员的工作责任,团队内外沟通协作方式,开发进度,项目内外环境条件,风险对策等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识和约定,项目生命周期内的所有项目活动的行动基础,和项目团队开展和检查项目工作的依据。以便于项目团队成员更好地了解项目情况,并且便于老师和其他同学了解我们的项目进程安排以及给出宝贵的意见建议。
软件开发计划书的主要内容包括:
参考资料(References)
[1]《GB8567-88 计算机软件产品开发文件编制指南》
[2]吕云翔.软件工程实用教程.北京:清华大学出版社,2015
[1] 《需求规格说明书》
[2] 《软件设计说明书》
[3]《api文档》
[4]《测试报告》
版本更新记录(Version Updated Record)
项目概述(Project Summary)
项目的目的(Project Purpose)
该网站分析软件的目的主要是整合国内外常用网站分析平台的功能,使用更加美化和直观的方式进行显示,同时结合人工智能的方式分析网站的内容是否安全,是否存在恶意或者非法的信息
项目的范围(Project Scope)
本节主要依照《需求规格说明书》的相关章节,来说明“网站分析平台”的涉及范围
具体见《api文档》和UI设计界面
获取网站为黄色网站,赌博网站,诈骗网站的概率(0~1的小数)
具体见《测试报告》
需要交付的成果(Necessary Items)
需要交付的软件(Necessary Software)
基于fastapi设计的"网站分析系统",其中包括可直接在Linux服务器部署的后台逻辑代码(包括使用的用于渲染和与用户交互的前端页面代码)。
需要交付的文档(Necessary Document)
项目开发环境(Project Environment)
本网站采用PC机进行开发,开发环境如下:
IDE:JetBrains PyCharm 2023.2.4
组织安排(Project Organization)
组织结构(Organization Structure)
为了更好地完成本项目,我们成立了由四人组成的项目团队,根据需求分析和开发进度计划,我们的成员分工如下表所示。
实施计划(Implementation Plan)
风险估计(Risk estimates)
由于团队成员缺乏团队开发经验,对于相关技术的了解不多,因此存在技术风险和进度风险,而且是技术风险导致进度风险的可能性比较大。
进度风险主要是系统实现阶段和测试阶段进度,可能表现为编码工作进展不顺利、各个子系统模块之间的衔接存在问题与网站之间的传输连接稳定性以及测试结果不符合预定要求等问题导致的进度拖后问题。
同时由于学业和就业压力,相关人员可能没有足够的时间投入到项目的开发过程中,会导致开发进度较为缓慢。
工作流程以及任务分解(Task decomposition)
整个项目按照技术主要可以分解为fastapi后端接口设计、UI界面设计、接口测试,按照功能模块设计,整个项目可以分解为下面的部分。
待定
待定
项目控制计划(Project Control Plan)
项目控制依据技术风险和进度风险而制定。
技术风险控制(Technology Risk Control)
待定
进度风险控制(Schedule Risk Control)
待定