算法、安全、性能优化

​点击阅读更多查看文章内容

排序

插入排序、快速排序、堆排序

理论时间复杂度

image-20250124175200799

image-20250124175200799

实际场景的性能测试

image-20250124175049260

image-20250124175049260

完全随机

image-20250124175105963

image-20250124175105963

元素有序

image-20250124175117939

image-20250124175117939

结论

image-20250124175131560

image-20250124175131560

pdqsort

image-20250124175555593

image-20250124175555593

image-20250124175833504

image-20250124175833504

Version1

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

image-20250124180006061

image-20250124180006061

Version2

image-20250124180901763

image-20250124180901763

image-20250124181239731

image-20250124181239731

采样多个元素选择中位数

image-20250124181259414

image-20250124181259414

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

image-20250124181522604

image-20250124181522604

image-20250124181904119

image-20250124181904119

image-20250124181926499

image-20250124181926499

最终版本

image-20250124182110270

image-20250124182110270

image-20250124182312261

image-20250124182312261

image-20250124182341976

image-20250124182341976

image-20250124182419264

image-20250124182419264

安全

网站常见安全漏洞

image-20250124224400759

image-20250124224400759

image-20250124224409771

image-20250124224409771

服务端漏洞

第三方组件漏洞

log4j、fastjson

image-20250124224941166

image-20250124224941166


SQL注入

image-20250124225804625

image-20250124225804625

image-20250124225817898

image-20250124225817898

image-20250124225827069

image-20250124225827069

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

image-20250124225842288

image-20250124225842288


命令执行

image-20250124230019708

image-20250124230019708

image-20250124230038232

image-20250124230038232


越权漏洞

image-20250124230449943

image-20250124230449943

image-20250124230505667

image-20250124230505667

image-20250124230514343

image-20250124230514343

image-20250124230524546

image-20250124230524546


SSRF

image-20250124230932361

image-20250124230932361

image-20250124230948450

image-20250124230948450

image-20250124230958032

image-20250124230958032

本身发起请求的就是内网的机器,所以可以访问到本机的admin页面


文件上传漏洞

image-20250124231207050

image-20250124231207050

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

image-20250124231223606

image-20250124231223606

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

image-20250124231319454

image-20250124231319454

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

image-20250124231400870

image-20250124231400870

客户端漏洞

开放重定向

对重定向地址做一个白名单

image-20250125100604154

image-20250125100604154

XSS

image-20250125100629814

image-20250125100629814

image-20250125100809319

image-20250125100809319

image-20250125101003373

image-20250125101003373

image-20250125101016139

image-20250125101016139

CSRF

image-20250125101225536

image-20250125101225536

image-20250125101406114

image-20250125101406114

image-20250125101535877

image-20250125101535877

image-20250125101548750

image-20250125101548750

点击劫持

image-20250125101707158

image-20250125101707158

image-20250125101745903

image-20250125101745903

image-20250125101824382

image-20250125101824382

image-20250125101851614

image-20250125101851614

CORS跨域配置错误

image-20250125101937265

image-20250125101937265

image-20250125102017815

image-20250125102017815

WebSocket

image-20250125102104395

image-20250125102104395

image-20250125102209890

image-20250125102209890

image-20250125102224178

image-20250125102224178

image-20250125102257982

image-20250125102257982

作者

ShiHaonan

发布于

2025-02-13

更新于

2025-03-13

许可协议

评论