2019雏鹰训练营第二次作业
仓库地址:https://github.com/Lin1031/211806229
作业题目:https://edu.cnblogs.com/campus/fzzcxy/EyasAcademy/homework/9971
引言
我是一个不喜欢写注释的人,这是一个很不好的习惯。
发布完404,返回旧版后台修改后发布终于可以了。太难了。
最开始看到题目以为是网络的题。
网络学的其实不是很扎实,内心就有点换张。尤其是那个DDos,一周好像学不到特别深的东西。
页面往下划,看到熟悉的输入输出。嗯这是一道编程题。
本着编程题题干背景也能学到一些东西的想法,就返回继续看背景,搜索相关知识并咨询了同学。
“经常出现没办法访问或者打开页面需要很长时间的情况”
属于A类攻击,资源消耗类攻击,通过大量请求消耗正常的带宽和协议栈处理资源的能力,从而达到服务端无法正常工作的目的,消耗带宽让服务器拥堵。
我对于题目的理解:
从文本里读数据,判断请求数据,黑客存入另一个数组,并计数。
以上是代码输出结果
程序题,c语言:
c语言第一版忘记去重了,然后查了一下bug。就有了第二版。
第一版的思路就大概是把数据全读,用fscanf数据分割字符串,存入结构体中。关闭文件,开始判断是否符合条件以及是否没有存入过。最后输出。
全读占用内存,在编译运行时,出现短暂的卡顿才开始跑数据。
后来和同学讨论之后,就有了Python版。
程序题Python:
建立集合,打开文件并逐行读文件,用sqlit函数分割字符串到列表,并进行判断,符合条件就存入,读出字符串。
(大量数据还是Python好用。)
c语言,我觉的可以直接用数组,在读的过程中直接判断是否符合条件。
这段代码还在尝试。