寒假第二次做业

第一部分:网课学习笔记

网络空间安全概论1、四章笔记博客连接

第二部分:程序题

①热身题

1)热身题代码连接

2)实现思路:

- 利用fopen打开文件
    - 利用fgets和fputs读写文件

3)实现结果以下图(截取部分):

②基本题

1)基本题代码连接

2)实现思路:

- 用结构体数组记录每一次请求
    - 边保存边判断是否此用户名已经出现过
    - 累加各个用户请求值总值
    - 遍历结构体数组依据条件输出黑客人数和名称

3)实现结果以下图:

③开放题:

方法一的问题:

- 占用太多空间
    - 判断标准过于生硬,容易错失大客户
    - 没法用于用户名很长的状况

改进的思路:

- 对于接收者名字(bob)不予屡次保存至结构体数组,以节省空间;
    - 对于较长的用户名,用特定几位来记录,好比仅记录奇数位字母或者先后几位字母 
    - 更改判断标准,具体思路以下:
            - 收集并分析一段时间内的数据,得出一个垃圾请求和正常请求请求值大小的大体分布图以及两种请求的次数的分布图
            - 依据上一步得出的分布图,得出区分垃圾请求和正常请求的请求值分界线(记为T)、请求次数分界线(记为S)
            - 读取一段时间内产生的数据,同时根据分界线T将请求区分为垃圾请求和正常请求
            - 记录每一个用户垃圾请求和正常请求的次数
            - 一旦某用户垃圾请求的次数超过度界线S,记录此用户用户名
            - 再遇到此用户的请求不予记录,节省存储空间
            - 依据记录的用户名的名单,输出并拉黑这些用户

实现:博客连接

另一种思路:

黑客和普通用户的区别,主要仍是体如今短期内发送请求的次数多少,针对这个特色,获得如下思路:
            - 收集并分析一段时间内的数据,得出垃圾请求和正常请求的次数的统计图
            - 依据上一步的结论,拟定一个分界线(记为S)
            - 对于每一组数据,只保存用户名
            - 统计不一样用户名出现次数 
            - 对于出现次数超过S的用户名,视其为黑客
            - 输出黑客名单并拉黑

实现:博客连接

相关文章
相关标签/搜索