算法、安全、性能优化
点击阅读更多查看文章内容
排序
插入排序、快速排序、堆排序
理论时间复杂度

image-20250124175200799
实际场景的性能测试

image-20250124175049260
完全随机

image-20250124175105963
元素有序

image-20250124175117939
结论

image-20250124175131560
pdqsort

image-20250124175555593

image-20250124175833504
Version1
首先使用快排,快排分成两部分之后如果子数组长度小于24则针对该子数组不再使用快排转而使用插入排序,如果limit为0则使用堆排序。limit是根据数组初始长度计算的值,当快排表现不佳时会将limit减1,当limit最终为0时就不再使用快排。

image-20250124180006061
Version2

image-20250124180901763

image-20250124181239731
采样多个元素选择中位数

image-20250124181259414
partialInsertionSort,在插入一定次数后仍未有序,就放弃使用插入排序

image-20250124181522604

image-20250124181904119

image-20250124181926499
最终版本

image-20250124182110270

image-20250124182312261

image-20250124182341976

image-20250124182419264
安全
网站常见安全漏洞

image-20250124224400759

image-20250124224409771
服务端漏洞
第三方组件漏洞
log4j、fastjson

image-20250124224941166
SQL注入

image-20250124225804625

image-20250124225817898

image-20250124225827069
不要把用户传入的数据当作代码

image-20250124225842288
命令执行

image-20250124230019708

image-20250124230038232
越权漏洞

image-20250124230449943

image-20250124230505667

image-20250124230514343

image-20250124230524546
SSRF

image-20250124230932361

image-20250124230948450

image-20250124230958032
本身发起请求的就是内网的机器,所以可以访问到本机的admin页面
文件上传漏洞

image-20250124231207050
上传一个php脚本,php是解释型语言,可以直接执行

image-20250124231223606
基于企业的CDN存储自己的文件生成url,可以快速访问

image-20250124231319454
站库分离:如果上传php文件不会存储到网站,而是存储到其它的服务器上,不具备执行php的能力,就不会有问题。

image-20250124231400870
客户端漏洞
开放重定向
对重定向地址做一个白名单

image-20250125100604154
XSS

image-20250125100629814

image-20250125100809319

image-20250125101003373

image-20250125101016139
CSRF

image-20250125101225536

image-20250125101406114

image-20250125101535877

image-20250125101548750
点击劫持

image-20250125101707158

image-20250125101745903

image-20250125101824382

image-20250125101851614
CORS跨域配置错误

image-20250125101937265

image-20250125102017815
WebSocket

image-20250125102104395

image-20250125102209890

image-20250125102224178

image-20250125102257982