08-信息收集-架构、搭建、WAF等
信息收集-架构、搭建、WAF等
- 信息收集-架构、搭建、WAF等
- 一、前言说明
- 二、CMS识别技术
- 三、源码获取技术
- 四、架构信息获取技术
- 五、站点搭建分析
- 1、搭建习惯-目录型站点
- 2、搭建习惯-端口类站点
- 3、搭建习惯-子域名站点
- 4、搭建习惯-类似域名站点
- 5、搭建习惯-旁注,c段站点
- 6、搭建习惯-搭建软件特征站点
- 六、WAF防护分析
- 1、什么是wAF应用?
- 2、如何快速识别WAF?
- 3、识别wAF对于安全测试的意义?
- 七、涉及资源
信息收集-架构、搭建、WAF等
一、前言说明
在安全测试中,信息收集是非常重要的一个环节,此环节的信息将影响到后续的成功几率,掌握信息的多少将决定发现漏洞机会大小,换言之决定着是否能完成目标的测试任务。也可以很直接的跟大家说:渗透测试的思路就是从信息收集这里开始,你与大牛的差距也是从这里开始的!
二、CMS识别技术
-
网站下方的CMS图标。
-
搜索特定的ico文件 — hash值与CMS指纹识别库匹配。
-
查看网站的搭建平台。
-
查看网站的开发语言的脚本框架的漏洞—网站的文件路径。
-
分析目录的工作原理 — ip和域名的文件结构。
-
搜索特定的URL获取相似站点。
-
查看网站的响应包。
三、源码获取技术
-
搜索引擎搜索。
-
第三方源码站—站长之家,菜鸟源码。
-
淘宝咸鱼。
-
内部渠道。
四、架构信息获取技术
即怎么判断操作系统等。
1.Nmap扫描识别端口和OS的类型。
2.网站区分大小写判断系统。
3.脚本识别数据库 — asp+Access;PHP+MySQL;aspx+mssql;jsp+mssql/orcale;Python+mogodb。
4.os识别数据库 — windows才有Access+sqlserver。
5.端口扫描 — 端口号对应不同的数据库。
6.Nmap扫描第三方平台和软件—phpmyadmin。
五、站点搭建分析
1、搭建习惯-目录型站点
简单的理解就是主站上面存在其他的cms程序
例如:学生网站的上面通过后台扫描探针发现有一个bbs的目录一点击发现是一个bbs的论坛网站如:www.xxx.com/bbs我们把这个成为目录型网站、可以有两种找到漏洞的思路一个是主站的漏洞,另外的一个是bbs上面的漏洞。
前提迪师傅演示的两个网站:sti.blcu.cn和sti.blcu.cn/bbs(网站好像已经没有了)前者是主站,后者是由discuz搭建的论坛两个目录的相差:目录下边源码明显不同 结果一方出现漏洞,另一方也能遭殃等于给与两套漏洞方案 总结找到这个会出现这种目录的方法:文件扫描(铸剑)
sti.blcu.edu.cn
sti.blcu.edu.cn/bbs
2、搭建习惯-端口类站点
案例一个网站:http://www.0516jz.com/(默认80端口)和http://www.0516jz.com:8080/login主站装载在80端口,论坛、微新闻等可以装载其他端口,归根结底都在一台服务器上。1. 域名打开是一个网站2. 域名后面+8080端口后,打开的是另外的一个网站3. 8080端口出现漏洞,80端口也会受到影响操作对网站进行端口扫描,看开放的端口,全部访问一遍(用nmap扫描)
http://www.0516jz.com/
http://www.0516jz.com:8080/
有的站点不是使用的是默认的站点80而是其他的端口、可以使用shodan这种工具去收集端口。
3、搭建习惯-子域名站点
子域名两套CMS
案例www.goodlift.net和bbs.www.goodlift.net操作两个站点,由两套CMS程序搭建,这两套网站源码,可能不在同一服务器。当申请“/robots.txt”时,能返回出默认的内部文件信息。补充inurl:xxx.com 可以查询子域名,必应不行。这也是俩例子🌰:http://www.etiantian.com/https://bhsf.lezhiyun.com/cms/
bbs.www.goodlift.net
这个页面的源码是用 Discuz搭建的。
www.goodlift.net
这个页面的源码是:
**备注:**现在的主流网站都是采用的这种模式且子域名和网站之间很有可能是不在同一台的服务器上面。
-
分析 — 两个网站可能在,也可能不在同一个服务器上面。
- 相同ip。
- 不同ip — 但是是同一个网段。
#原理:www.---设置一个ip。子域名---设置一个ip(可以和主站相同,也可以不同)。
4、搭建习惯-类似域名站点
有些公司由于业务的发展将原来的域名弃用、选择了其他的域名但是我们访问他的旧的域名还是能够访问、有的是二级域名的更换而有的是顶级域名的更换。
网站经常换域名,特别是违法网站,正规网站也有换域名的时候(有些域名辨识度不高等)。案例,多域名http://www.jmlsd.com/http://www.jmlsd.cn/http://www.jmlsd.net/ 结论域名多,选择性多,不同的域名有着不一样的应用,看到的东西不一样,漏洞的可能性也大。
可以通过他的旧的域名找到一些突破口
http://www.jmlsd.com/
http://www.jmlsd.cn/
www.axgc168.com
例如:京东的网站是jd.com 那么他就有可能是采用了jd.net、 jd.cn等域名我们采用社工的方式去尝试获取他的相关域名信息。
5、搭建习惯-旁注,c段站点
`旁注`:同一个服务器上面存在多个站点、但是你要攻击的是A网站由于各种原因不能完成安全测试。就通过测试B网站进入服务器然后在攻击A网站最终实现目的。
`C段`:不同的服务器上面存在不同的网站,通过扫描发现与你渗透测试的是同一个网段最终拿下服务器、然后通过内网渗透的方式拿下渗透服务器。
在线工具:https://www.webscan.cc/
- 假设这个网站搞不了。
- 进行旁注查询。
通过旁注查询可以发现同一个服务器上面有两个站点可以通过对另外的一个站点进行突破。
#不推荐使用C段
6、搭建习惯-搭建软件特征站点
有的网站是借助于第三方的集成搭建工具实现例如:PHPstudy、宝塔等环境这样的集成环境搭建的危害就是泄露了详细的版本信息。
搭建平台—宝塔,phpStudy,inmap等等,具有安全隐患,如phpStudy上面会有PhpMyAdmin,账号默认登录。
http://www.etiantian.com/#/
:不是一键搭建的平台。
真实网站测试 — https://www.shodan.io — Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
#通过ip/phpmyadmin登录测试—root登录,登录失败,说明可能修改过了。
六、WAF防护分析
1、什么是wAF应用?
Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。
利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
2、如何快速识别WAF?
1、采用工具wafwoof
获取地址:https://codeload.github.com/EnableSecurity/wafw00f/zip/refs/heads/master
https://github.com/EnableSecurity/wafw00f
安装之前一定要有python的环境不然安装不上。
# unzip wafw00f-master.zip
# python3.8 setup.py install
# ls -ld wafw00f
drwxr-xr-x 6 root root 4096 6月 10 17:22 wafw00f
# cd wafw00f
#python main.py https://www.hlszsb.com/[*] Checking https://www.hlszsb.com/
[+] Generic Detection results:
[-] No WAF detected by the generic detection
[~] Number of requests: 7
wafw00f的缺点判断的不是特别的准确存在误报或识别不出的情况。
2、在有些网站的请求信息当中有的网站没有做安全信息上面留下了waf的相关信息
3、使用nmap指纹检测。
nmap --script==http-waf-fingerprintnmap --script=http-waf-detec
4、identYwaf
参考地址:https://github.com/stamparm/identywaf
C:\Users\admin\Desktop\security\软件\identYwaf-master>python identYwaf.py https://www.manjaro.cn/__ ______ ___ ___ ____ ______ | T T __ __ ____ _____
l j| \ / _]| \ | T| | || T__T T / T| __|| T | \ / [_ | _ Yl_j l_j| ~ || | | |Y o || l_| | | D YY _]| | | | | |___ || | | || || _|j l | || [_ | | | | | | ! \ / | | || ]
|____jl_____jl_____jl__j__j l__j l____/ \_/\_/ l__j__jl__j (1.0.134)[o] initializing handlers...
[i] checking hostname 'www.manjaro.cn'...
[i] running basic heuristic test...
[i] rejected summary: 200 ('<title>����ҳ��</title>')
[-] non-blind match: -
[i] running payload tests... (45/45)
[=] results: '.xx.xxxxx..xxxxxxxx.xxx.x...x.xxx......x..xxx'
[=] hardness: hard (60%)
[=] blocked categories: SQLi, XSS, XPATHi, XXE, PHPi, PT
[=] signature: '90fa:RVZXu261OEhCWapBYKcPk4JzWOpohM4JiUcMr2RXg1uQJbX3uhdOnthtOj+hX7AA16FcPhJOdLoXo2tKaK99n+i7c4RmkgI2FZjxtDtAeq+c3qA4chW1XaTD'
[+] blind match: 'Safedog' (100%)
与wafwoof相比运行速度慢,比较稳定推荐还是使用这一款工具。
3、识别wAF对于安全测试的意义?
对于一个网站要是使用了waf而渗透人员没有识别直接使用工具进行扫描有可能会导致waf将你的ip地址拉入黑名单而不能访问。而识别waf在于有针对性行的绕过各个厂商的waf可能存在着不同的绕过思路。
七、涉及资源
https://www.shodan.io
https://www.webscan.cc
https://github.com/EnableSecurity/wafw00f
相关文章:
08-信息收集-架构、搭建、WAF等
信息收集-架构、搭建、WAF等 信息收集-架构、搭建、WAF等一、前言说明二、CMS识别技术三、源码获取技术四、架构信息获取技术五、站点搭建分析1、搭建习惯-目录型站点2、搭建习惯-端口类站点3、搭建习惯-子域名站点4、搭建习惯-类似域名站点5、搭建习惯-旁注,c段站点…...
Qt --- 显示相关设置 窗口属性等
主界面,窗口 最小化 最大化 关闭按钮、显示状态自定义: setWindowFlags(Qt::CustomizeWindowHint); setWindowFlags(Qt::WindowCloseButtonHint); //只要关闭按钮 setWindowFlags(Qt::WindowFlags type) Qt::FrameWindowHint:没有边框的窗口 Qt::Window…...
使用小程序实现左侧菜单,右侧列表双向联动效果
目录 引言理解双向联动效果的重要性scrollview属性介绍实现左侧菜单数据准备渲染菜单列表监听菜单点击事件实现右侧列表数据结构设计初始数据渲染监听列表滚动事件左侧菜单与右侧列表联动获取当前滚动位置计算对应菜单项联动效果优化用户体验考虑平滑滚动效果菜单高亮状态...
selenium中处理验证码问题
验证码 基本作用:可以实现当前访问页面的数据安全性、还可以减少用户的并发数; 类型:1、纯数字、纯字母;2、汉字组合;3、数学运算题;4、滑动;5、图片(选不同的、选相同、成语顺序&…...
EMR电子病历系统 SaaS电子病历编辑器源码 电子病历模板编辑器
EMR(Electronic Medical Record)指的是电子病历。它是一种基于电子文档的个人医疗记录,可以包括病人的病史、诊断、治疗方案、药物处方、检查报告和护理计划等信息。EMR采用计算机化的方式来存储、管理和共享这些信息,以便医生和医…...
一些自定义hooks
文章目录 1、点击框外隐藏弹窗hook 1、点击框外隐藏弹窗hook **描述:**有一个需要自己封装弹窗的组件,实现点击弹窗框外时隐藏弹窗 代码: import { useEffect } from “react”; // 点击框外hooks import { useEffect } from "react&q…...
基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法
文献计量学是指用数学和统计学的方法,定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体,注重量化的综合性知识体系。特别是,信息可视化技术手段和方法的运用,可直观的展示主题的研究发展历程、研究现状、研究…...
lEC 61068-2-14_2023环境试验.第2-14部分:试验.试验N:温度变化, 最新版发布
https://download.csdn.net/download/m0_67373485/88251313 lEC 61068-2-14_2023环境试验.第2-14部分:试验.试验N:温度变化 A change of temperature test is intended to determine the effect on the specimen of a changeof temperature or a succession of changes of tem…...
CFDEM学习笔记
本文用来记录自己学习CFDEM的笔记。 资料总结 虚拟机:链接:https://pan.baidu.com/s/1MPMTJQfl76mW0H5bbT_rAg 提取码:rqli 开机密码:530944988 知乎博客:作者说明了如何关闭颗粒碰撞计算来达到提升计算速度。 Githu…...
SpringBoot入门篇1 - 简介和工程创建
目录 SpringBoot是由Pivotal团队提供的全新框架, 其设计目的是用来简化Spring应用的初始搭建以及开发过程。 1.创建入门工程案例 ①创建新模块,选择Spring初始化,并配置模块相关基础信息 ②开发控制器类 controller/BookController.jav…...
MyBatis-Plus updateById不更新null值
文章目录 前言方式一 调整全局的验证策略方式二 调整字段验证注解方式三 使用 UpdateWrapper 前言 在 MyBatis-Plus 中,使用updateById,null字段并不会更新,其实是和更新的策略有关,当然,也有插入策略,本文…...
用pytorch实现AlexNet
AlexNet经典网络由Alex Krizhevsky、Hinton等人在2012年提出,发表在NIPS,论文名为《ImageNet Classification with Deep Convolutional Neural Networks》,论文见:http://www.cs.toronto.edu/~hinton/absps/imagenet.pdf …...
LeetCode560.和为k的子数组
这道题我用的是暴力法,当然也是不断的提交不断发现问题改出来的,比如我之前是算到和大于目标值就break,其实不行因为后面还可以有负数,我把break删了。后面和为目标之后就答案1然后break然后下一次遍历,测试用例中就出…...
echarts 的dataZoom滑块两端文字被遮挡
问题: 期望: 解决方案: 1:调整宽度(4版本的没有width属性) 2. 参考:echarts图标设置dataZoom拖拽时间轴时自动调整两侧文字的位置_datazoom 位置_乌栖曲的博客-CSDN博客 设置文字的定位 cons…...
MongoDB基本使用
在 MongoDB 中我们可以使用use命令来创建数据库,如果该数据库不存在,则会创建一个新的数据库,如果该数据库已经存在,则将切换到该数据库。使用use命令创建数据库的语法格式如下: --use database_name use my_db1;数据…...
C++ 中的左值(Lvalues)和右值(Rvalues)
C 中有两种类型的表达式: 左值(lvalue):左值参数是可被引用的数据对象,例如,变量、数组元素、结构成员、引用和解除引用的指针都是左值。非左值包括字面常量(用引号起的字符串除外,…...
html流光按钮
出处bilibili猫咪爱狗 <!DOCTYPE html> <html><head><style>body {/*内容居中,背景色*/height: 100vh;display: flex;justify-content: center; align-items: center;background-color: #000;}a { /*水平垂直居中*/position: re…...
HAProxy+nginx搭建负载均衡群集
目录 一、常见的Web集群调度器 二、HAProxy群集介绍 1、Haproxy的特性 : 2、Haproxy常用的调度算法 ① 轮询调度(Round Robin) ② 最小连接数(Least Connections) ③ 基于来源访问调度算法(Source Hashing&am…...
logback-spring.xml 的配置及详解(直接复制粘贴可用)
logback-spring.xml 的配置及详解 一、注意实现二、配置及详解 一、注意实现 logback-spring.xml 中有三处需要根据实际业务进行修改,直接查找“(根据业务修改)”即可进行定位。 如果不想修改,直接复制粘贴到自己系统运行也可以&…...
C语言易错点整理
前言: 本文涵盖了博主在平常写C语言题目时经常犯的一些错误,在这里帮大家整理出来,一些易错点会帮大家标识出来,希望大家看完这篇文章后有所得,引以为戒~ 一、 题目: 解答: 首先在这个程序中…...
60.每日一练:回文数(力扣)
目录 问题描述 代码解决以及思想 解法(一) 知识点 解法(二) 问题描述 代码解决以及思想 解法(一) class Solution { public:bool isPalindrome(int x) {string arr to_string(x); // 将整数转换为…...
算法通关村第5关【青铜】| Hash和队列的特征
1.Hash基础 (1)基础 哈希也称为散列,通过算法变成固定长度的输出值,存入对应的位置 例如这个算法为取模算法,indexnumber 模 7 存入1到15 (2)碰撞处理 当多个元素映射到同一位置上时就产生…...
C++:函数
函数参数的传递机制 C的每个程序至少有一个函数,即主函数main(),函数也是类的方法的实现手段。C的函数包括两类:预定于函数和用户自定义函数。 函数的定义格式为: <返回值类型><函数名>(<参数列表>) <函…...
Linux网络编程:libevent事件通知库
文章目录: 一:libevent库 二:libevent框架 1.常规事件event 1.1 创建事件event(event_new) 1.2 添加事件到 event_base(event_add) 1.3 从event_base上摘下事件(event_del&a…...
java.lang.reflect.InvocationTargetException:null报未知异常
在项目上线过程中,突然出现大量异常信息,堆栈信息如下: java.lang.reflect.InvocationTargetException: null at jdk .internal.reflect.GeneratedMethodAccessor792 .invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingM…...
MySQL高级篇——MySQL架构篇1(Linux下MySQL8的安装与使用)
目录 0 安装前0.1 Linux系统及工具的准备0.2 查看是否安装过MySQL0.3 MySQL的卸载 1 MySQL8的Linux版安装1.1 MySQL的4大版本1.2 下载MySQL指定版本1.3 CentOS7下检查MySQL依赖1.4 CentOS7下MySQL安装过程 2 MySQL登录2.1 首次登录2.2 修改密码2.3 设置远程登录 3 MySQL 8 的密…...
解决 go mod tidy 加载模块超时
如果go mod tidy 加载模块超时 解决方法 修改GOPROXY: 查看go环境相关信息: go envgo env -w GOPROXYhttps://goproxy.cn...
金融市场中的机器学习;快手推出自研语言模型“快意”
🦉 AI新闻 🚀 OpenAI可能面临《纽约时报》的起诉,侵犯知识产权引发争议 摘要:OpenAI使用《纽约时报》的文章和图片来训练AI模型,违反了《纽约时报》的服务条款,可能面临巨大损失。此前,也有其…...
【面试刷题】——什么是深拷贝和浅拷贝?
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在编程中用来描述对象拷贝的两个概念,特别是在涉及对象包含其他对象(如嵌套数据结构、指针等)的情况下。 浅拷贝(Shallow Copyÿ…...
物联网(IoT)安全挑战与解决方案: 分析物联网设备面临的安全威胁,以及如何设计和管理安全的IoT生态系统
第一章:引言 随着科技的飞速发展,物联网(IoT)作为连接世界的桥梁,已经成为现代社会不可或缺的一部分。然而,随着IoT设备数量的不断增加,其安全问题也日益显著。本文将深入探讨IoT领域面临的安全…...
Ubuntu 22.04.3 LTS 维护更新发布
近日消息,Canonical 今天发布了代号为 Jammy Jellyfish、长期支持的 Ubuntu 22.04 第 3 个维护版本更新,距离上个版本相隔 6 周时间。 Ubuntu 22.04.3 LTS 最大的亮点在于内核升级到 Linux Kernel 6.2,此外 Mesa 图形堆栈也升级到 23.0.4 版…...
平安健康,找到了医疗服务的价值密码
健康是人类的永恒需求,围绕医疗和健康服务衍生的产业,却苦于无法和用户建立足够紧密、长期的联系。由此,也不得不面临价值从何而来的问题。 作为医疗服务领域的代表性企业,平安健康医疗科技有限公司(股票简称“平安好…...
❤ vue 使用原生组件
❤ vue 使用原生组件 1、做一个input输入框验证开始 ① 想让我们的input输入框类型为时间,只需要为我们的输入框简单的加一个类型的type即可 <input type"date" id"birthday" name"birthday" placeholder"年/月/日"&…...
4.12 TCP 连接,一端断电和进程崩溃有什么区别?
目录 TCP keepalive TCP 的保活机制 主机崩溃 进程崩溃 有数据传输的场景 客户端主机宕机,又迅速重启 客户端主机宕机,一直没有重启 TCP连接服务器宕机和进程退出情况总结 TCP keepalive TCP 的保活机制 TCP 保活机制需要通过 socket 接口设置 S…...
十二、pikachu之URL重定向
文章目录 1、URL重定向概述2、实战3、URL跳转的几种方式:3.1 META标签内跳转3.2 javascript跳转3.3 header头跳转 1、URL重定向概述 不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。如果后端采用了前端传进来的(可能是用户传参,或者之前预埋…...
贝叶斯公式中的动词 命名技巧
一项血液化验有95%的把我诊断某种疾病,但是,这项化验用于健康人也会有1%的“伪阳性”结果(即如果一个健康人接受这项化验,则化验结果乌镇此人患有该疾病的概率是0.01)。如果该疾病的患者事实上只占总人口的0.5%,若某人化验结果为阳…...
ctfshow-web13 文件上传
0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 首先看到是一个上传页面,测试其他无果,遂进行目录遍历,发现upload.php.bak文件 可以看到这里的限制条件,大小,以及内容,这里可以使用.use…...
Python项目开发案例————学生信息管理系统(附源码)
一、学生信息管理系统 本文使用Python语言开发了一个学生信息管理系统,该系统可以帮助教师快速录入学生的信息,并且对学生的信息进行基本的增、删、改、查操作;还可以实时地将学生的信息保存到磁盘文件中。 1.1 需求分析 为了顺应互联网时代…...
2023-08-25力扣每日一题
链接: 1448. 统计二叉树中好节点的数目 题意: 判断根节点到每个节点X的过程中,如果没有值大于X,则该节点为好节点,求好节点数量 解: 由于求根节点到其他节点的路径,则使用dfs算法ÿ…...
Vue3中的计算属性和属性监听
compute计算属性 Vue3中可以通过 compute进行监听计算属性,他返回的是一个ref的对象,也就是说 通过compuye这种方式计算属性实际上是进行了ref的操作 import { computed } from vue const user reactive({firstName: A,lastName: B }) // 只有getter的…...
微信开发之一键修改群公告的技术实现
简要描述: 设置群公告 请求URL: http://域名地址/setChatRoomAnnouncement 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必…...
【git】工作场景中常用的git命令
工作场景中常用的git命令 1. 必备改名改邮箱拉代码下来并且创建新分支git commit回滚某个文件删除分支 工作场景中常用的git命令,记录下来方便调取 1. 必备 改名改邮箱 一般与他人合作,至少你提交的名字得被人熟知或者遵循规范,因此需要更改…...
Vue路由(详解)
目录 路由原理 路由到底有什么作用? 路由安装和使用(vue2) 路由跳转 跳转实例: 路由的传值和取值 传值实例: 查询参和路由参的区别: 嵌套路由 嵌套实例: 路由守卫 守卫实例࿱…...
打开软件提示msvcp140.dll丢失的解决方法,msvcp140主要丢失原因
今天,我将为大家介绍一种非常常见的问题——msvcp140.dll丢失。这个问题可能会导致许多应用程序无法正常运行,甚至崩溃。但是,请不要担心,我会为大家提供5种解决方法,帮助大家轻松解决问题。 首先,我们来看…...
关于路由器和DNS解析的一些新理解
其实我本人对于交换机和路由器这些网络硬件是比较感兴趣的,也在一点一点的学习相关知识,每次解决一个问题,就让我对一些事情有新的思考。。 今天前台同事,的机器突然上不了网,,和领导一起去看了一波&#…...
vscode 与 C++
序 具体流程的话,官方文档里都有的:C programming with Visual Studio Code 浏览器下载一个mingw64,解压,配置环境变量vscode里安装c相关的插件没了 第一步只看文字,可能有点抽象,相关视频: …...
水果flstudio好用吗?中文版FL21最新版本如何下载
FL Studio21版是一款功能强大的音乐制作软件,广泛应用于电子音乐、流行音乐、电影配乐等领域。它提供了丰富多样的音频合成和编辑工具,使音乐制作变得更加灵活多样。无论是初学者还是专业音乐制作人,都可以通过直观的界面和丰富的音频特效来实…...
PHP is_array()函数详解,PHP判断是否为数组
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 is_array 一、基本使用二、空数组三、同时判断多个…...
面试题-React(三):什么是JSX?它与常规JavaScript有什么不同?
在React的世界中,JSX是一项引人注目的技术,它允许开发者在JavaScript中嵌套类似HTML的标签,用于描述UI组件的结构。本篇博客将通过丰富的代码示例,深入探索JSX语法,解析其在React中的用法和优势。 一、JSX基础语法 在…...
纯前端实现图片上传七牛云
首先安装下依赖: npm install qiniu-js crypto-js 然后封装一下 uploaderHelper.ts import * as qiniu from qiniu-js; // ts-ignore import CryptoJS from crypto-js// 请求接口上传图片 export function uploadFile(file: File) {const uptoken getToken(你的…...