- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。在 Ubuntu 系统中配置 iptables 防火墙,实际上是通过一系列步骤来控制网络流量的进出,确保系统的安全性。下面我将详细讲解如何安装、配置以及确保防火墙生效的过程。1. 检查是否安装 iptables首先,检查系统中是否已经安装了 iptables:whereis iptables如果输出了相关信息,说明已经安装了。如果没有安装,可以通过以下命令进行安装:sudo apt-get install iptables 2. 编辑 iptables 策略iptables 的规则可以通过编辑 /etc/iptables.rules 文件来进行配置。在这个文件中,我们可以设置允许和拒绝的网络流量。例如,常见的规则设置如下:*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]# 允许常用端口-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # 允许 HTTP-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT # 允许 HTTPS-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # 允许 SSH# 允许本地回环接口-A INPUT -i lo -j ACCEPT-A OUTPUT -o lo -j ACCEPT# 允许 ICMP 请求(即 ping)-A INPUT -p icmp --icmp-type echo-request -j ACCEPT# 允许已建立连接的流量-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 其他未明确允许的流量一律拒绝-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT在上述规则中,我们开放了 HTTP (80)、HTTPS (443) 和 SSH (22) 端口,同时确保本地回环接口 (lo) 不受限制。此外,我们允许 ICMP 请求(即 ping)并确保已建立的连接能够正常通信。 3. 加载并生效规则编辑完成规则文件后,可以通过以下命令加载并使规则生效:sudo iptables-restore < /etc/iptables.rules使用 iptables -L -n 命令可以查看当前的防火墙规则,确认配置是否生效。 4. 确保防火墙开机自启为了确保防火墙配置在系统重启后自动加载,我们需要做以下操作: 创建软链接,确保防火墙规则在系统启动时加载:sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/编辑 /lib/systemd/system/rc-local.service 文件,在 [Install] 部分添加以下内容:[Install]WantedBy=multi-user.target编辑并创建 /etc/rc.local 文件,添加防火墙启动命令:sudo vi /etc/rc.local在文件中加入:iptables-restore < /etc/iptables.rules给 /etc/rc.local 文件添加执行权限:sudo chmod +x /etc/rc.local最后,启用并启动服务:sudo systemctl start rc-local.servicesudo systemctl enable rc-local.service 5. 常见命令和操作查看现有规则:sudo iptables -L -n 清空现有规则并设置默认策略:sudo iptables -P INPUT ACCEPTsudo iptables -Fsudo iptables -Xsudo iptables -Z 允许来自本地回环接口的数据包:sudo iptables -A INPUT -i lo -j ACCEPT 开放常用端口:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 SSHsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许 HTTPsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许 HTTPS 拒绝来自特定 IP 的请求:sudo iptables -I INPUT -s 192.168.1.100 -j DROP 保存规则:sudo service iptables save 蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
目前市场上提供短信群发服务的短信群发平台有很多,主要分为运营商短信群发平台(移动、联通、电信)和第三方短信群发平台(获得工信部核发106号段,具备一定资质的短信群发平台)。那么短信群发平台哪个好用呢?衡量短信群发平台我们可以从资质、通道、服务等多个方面。这几个方面基本能够体现出短信群发平台是否靠谱,经验是否丰富,能不能够为大家提供专业的短信群发服务。资质是否齐全是衡量短信群发平台哪个好用的一大关键因素。合法的短信群发平台通常经过了工信部的认证,拥有106号段的合法使用权,能够提供稳定的短信群发服务。不合规的第三方短信群发平台很有可能导致用户的业务中断,或面临被查处的风险,给企业带来极大的损失。短信群发平台的通道质量是影响短信群发到达率的直接因素,也是考量短信群发平台哪个好用的关键点。优质的短信群发平台应该具备直连三大运营商,群发三网(移动、联通、电信)的实力,能够确保短信在各种情况下都能够快速准确地到达用户。并且拥有备用通道,能够在高并发或通道拥堵钱,迅速切换至其他通道,保证信息发送的时效性和成功率。服务质量是考察短信群发平台哪个好用不容忽视的一点。专业的短信群发平台能够为用户提供及时、有效的帮助,无论是在短信发送方面的技术问题还是对短信发送策略有疑惑,都应该快速响应用户需求,高效帮助用户解决,以实现更好的营销效果。总的来说,判断短信群发平台哪个好用需要综合多方面因素考虑,重点是深入了解平台的资质、通道以及服务,只有切实考量了才能够找到最适合自身业务需求的短信群发平台,从而实现高效、精准的短信群发服务。希望今天为大家介绍的判断短信群发平台哪个好用的几个点能帮到各位有短信群发需求的朋友。如果您还不知道那家短信群发平台好用也推荐大家看看我们蓝队云。蓝队云是一家专业的短信群发平台,成立至今已有15年的历史,为超过10W的用户提供了专业的短信群发服务。并且具备短信群发平台应有的专业资质及优质的短信群发通道,可以群发三网的短信,短信群发到达率高达99.99%。现在2025刚刚开年,蓝队云短信群发的价格为大家做到了低至3分/条的福利假,并且为所有新用户准备了免费试用1000条短信的活动,只要上官网注册就能领取,即领即用。活动链接就在文末了,有需要的朋友千万不要错过!新用户注册免费试用短信1000条!
在Linux系统中,磁盘挂载路径的合理配置对于系统资源的高效利用和数据管理至关重要。CentOS作为广泛使用的Linux发行版之一,掌握其磁盘挂载路径修改方法,能够帮助我们更好地适应不同的业务需求和系统架构调整。 修改磁盘挂载路径的具体步骤1. 查看当前磁盘挂载情况首先,我们需要查看当前系统中磁盘的挂载情况。打开终端,输入以下命令:mount或者使用更详细的命令:df -h这两个命令都可以列出系统中已挂载的磁盘及其挂载路径等信息。这里可以看到 /dev/sdb1 这块磁盘当前挂载在 /www 路径下。 2. 卸载磁盘在修改挂载路径之前,需要先卸载该磁盘。使用以下命令:umount /www 如果磁盘正在被使用,可能会提示无法卸载。这时可以先检查是哪些进程在使用该磁盘,使用命令:fuser -vm /www 然后根据提示结束相关进程(谨慎操作,确保不会影响重要服务),再尝试卸载。 3. 修改挂载配置文件CentOS系统中,磁盘挂载配置主要存储在 /etc/fstab 文件中。使用文本编辑器(如vi)打开该文件:vi /etc/fstab 找到对应磁盘的挂载配置行,例如:/dev/sdb1 /www ext4 defaults 0 0将其挂载路径修改为我们想要的新路径,比如 /data/dev/sdb1 /data ext4 defaults 0 0修改完成后,保存并退出编辑器。 4. 创建新的挂载目录并重新挂载磁盘在修改 /etc/fstab 文件后,需要创建新的挂载目录:mkdir /data 然后重新挂载磁盘:mount /dev/sdb1 /data 或者使用命令:mount -a该命令会根据 /etc/fstab 文件中的配置重新挂载所有磁盘。 5. 验证挂载情况再次使用 mount 或 df -h 命令查看磁盘挂载情况,确认 /dev/sdb1 已成功挂载到 /data 路径下。通过上述步骤,我们就可以在CentOS系统中顺利修改磁盘的挂载路径。在实际操作过程中,一定要谨慎行事,确保数据安全。在修改挂载路径前,最好先对重要数据进行备份,以防万一出现意外情况导致数据丢失。同时,熟悉这些操作也有助于我们在面对系统存储架构调整等需求时能够更加从容应对。 更多技术知识,蓝队云期待与你一起探索。让我们一起在技术的海洋中航行,发现更多的秘密和宝藏。
在Docker中部署Node.js应用是一个常见的开发任务。以下是一个详细的步骤指南:一、环境准备安装Docker:确保你已经在机器上安装了Docker。你可以从Docker官网下载并安装适合你操作系统的Docker版本。二、创建Node.js应用创建项目目录: 初始化Node.js项目: 安装必要的依赖(例如,Express框架): 编写应用代码: 创建一个app.js文件,并添加以下简单的Node.js代码: 三、创建Dockerfile在项目根目录下创建一个名为Dockerfile的文件,并添加以下内容:四、构建Docker镜像在项目目录中运行以下命令来构建Docker镜像:五、运行Docker容器构建完成后,你可以使用以下命令来运行Docker容器:六、验证应用检查容器状态:访问应用:在浏览器中访问,应该能够看到“Hello, Docker!”的信息。七、其他注意事项如果你希望将Docker镜像推送到Docker Hub或其他容器镜像仓库,你需要先登录仓库,然后标记并推送镜像。在生产环境中,你可能还需要配置更多的环境变量、安全策略以及日志收集等。相信通过本文介绍的步骤,很多朋友对如何将Node.js应用部署到Docker容器中已经有了一定的了解。Docker为Node.js应用提供了一个高效、灵活的环境,使得开发、部署和扩展变得更加简便。无论是在本地开发还是在生产环境中,Docker都可以提供强大的支持。想了解更多Docker相关的分享欢迎上蓝队云官网查询,更多免费技术学习文档,蓝队云期待与您一起探索。
MySQL 8.0版本首次发布于2018年下旬,目前已经更新至8.0.26小版本。许多人在首次听到8.0时,常会感到自己错过了不少内容,毕竟目前最常用的版本仍是5.7。MySQL的版本差异较大,从下图可以看出,6版本被定位为过渡版本,旨在引入“更加频繁和及时的MySQL服务器版本”,而7版本则专门为集群版本预留。因此,8.0版本成为了MySQL常用应用场景的下一个重要版本号。MySQL8.0除了给人以版本跨度大的感觉外,确实也做出了很多功能特性的新增或优化,下面蓝队云将选取部分新特性并通过介绍使大家能够对新版本的MySQL有更好的了解。一、My SQL数据字典数据字典是数据库重要的组成部分,是数据库中各类元数据的集合,在MySQL8.0之前,数据库的数据字典。主要由以下几部分组成:frm 、.opt 、.par 、.TRN 、.TRG等与表、库、分区、触发器相关的操作系统文件;information_schema中的非InnoDB系统表;information_schema中的InnoDB系统表这种数据字典被分布到多个地方的方式,并不利于元数据的统一管理,同时由于操作系统文件以及非InnoDB的系统表,均不支持事务,也影响到了MySQL DDL的ACID。因此在MySQL在8.0版本直后对于数据字典,做出了比较大的改进,一方面是移除了.frm 、.opt 、.par 、.TRN 、.TRG等操作系统文件,另一方面是将数据字典统一改进为InnoDB存储引擎存储。设计理念参照了Oracle数据库的方式,将元数据信息存放在基表中,然后通过视图的方式提供给用户查询。因此在8.0版本的information_schema中,我们可看到的数据字典信息如下:新的数据字典为MySQL带来两个积极的变化,一就是这种直接查表并且可利用新增的数据字典缓存的访问方式提升了INFORMATIONS_SCHEMA的查询性能,二是对原子DDL的支持,即在DDL操作过程中出现错误的时候,是可以完整回退的,这在之前版本的DDL操作中是不支持的。二、原子DDL在8.0以前的版本中,MySQL是不支持原子DDL的,也就意味着一个DROP TABLE tab1,tab2;的语句由可能由于服务器crash或其他异常错误导致部分成功部分失败。而随8.0中数据字典的改进,数据字典的更新,存储引擎操作,写⼆进制日志结合成了一个事务,也就是实现了对原子DDL的支持。其具体过程如下:Prepare:创建需要的对象,并将ddl日志写入到mysql.innodb_ddl_log;ddl日志记录了如何前滚和回滚ddl操作。Perform:执行ddl操作。Commit:更新数据字典并提交。post-ddl:重播并从mysql.innodb_ddl_log表格中删除DDL⽇志。为确保回滚可以安全执⾏⽽不引⼊不⼀致性,在此最后阶段执⾏⽂件操作(如重命名或删除数据文件)。这一阶段还从 mysql.innodb_dynamic_metadata的数据字典表删除的动态元数据为了DROP TABLE,TRUNCATE和其它重建表的DDL操作。原子DDL对于MySQL与其说是新特性,但更像是修复了8.0以前版本中的缺陷,使用户对DDL操作的过程更为放心。三、索引优化隐藏索引、降序索引、函数索引再8.0版本中纷纷登场,熟悉Oracle的同学对这3中索引一定也不陌生,甚至在MySQL中的创建语法都是和Oracle相同的,此处就不再赘述。隐藏索引主要起到灰度的作用,可以利用其特性减少索引回收及发布可能带来的风险,在运维过程中是种比较常用的手段。降序索引则针对具体的业务场景,配合特定的SQL使用可以大幅减少排序带来的成本。而函数索引就更为灵活了,不过在Oracle不推荐使用函数索引,在MySQL中则更不推荐使用,函数索引作为临时手段可以救火,但根本还是应从设计层面出发。四、账户与安全在MySQL账户和安全性方面,8.0版本也做出了一定程度的优化。主要可分为以下几个部分:1. 创建及授权在MySQL5.7的版本可以通过一条语句完成账户的创建授权操作grant all privileges on *.* to '用户名'@'主机' identified by '密码';在MySQL8.0则被拆成了两步执行create user '用户名'@'主机' identified by '密码';grant all privileges on *.* to '用户名'@'主机';2. 认证插件更新MySQL8.0版本的默认认证插件由mysql_native_password改为了caching_sha2_password,因此使用NAVICAT之类客户端工具时需可能会遇到1251的认证错误。3. 口令管理新增了以下参数来控制口令修改策略password_history:修改密码不允许与最近几次使用或的密码重复;password_reuse_interval:修改密码不允许与最近多少天的使用过的密码重复;password_require_current:修改密码是否需要提供当前的登录密码;4. 角色可以使用create role命令创建角色并对角色再进行多个权限的grant授予,最后再将角色赋予用户,通过这种方式,对用户权限的管理也变得更为清晰易操作。账户安全这部分,给人的感受也是越来越接近Oracle数据库,总的来说目的还是为了提升其安全性,但目前来看,认证插件遇到的问题还是较多的,主要原因在于有些常用的测试或管理工具还未能及时支持caching_sha2_password这种认证方式,因此很多环境再8.0仍然保持5.7的mysql_native_password认证设置。除以上介绍的内容外,MySQL在8.0中也新增了很多JSON函数,使得普通格式数据可以方便快捷的转换为JSON数据,同时也可对JSON格式数据进行判断、校验、合并提取等操作。SQL语法上也新增了with as的通用表达式。引擎方面对于Innodb引擎也有了较多的增强,如自增列持久化、死锁检测,甚至可以通过memcached实现类似NOSQL的简单get操作。运维方面也增加了资源管理的功能,REDO及UNDO的使用也做出优化。总之MySQL 8.0在使用上带来的变化还是非常丰富多彩的,我们应在大版本的迭代过程中,关注基础软件做出的积极调整,并合理的将其运用到系统建设工作中。想了解更多技术小分享欢迎上蓝队云官网查询,更多免费技术学习文档,蓝队云期待与您一起探索。
Linux之查看系统各项指标命令 欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。 在 Linux 系统中,查看系统各项指标(如 CPU 使用率、内存使用、磁盘使用、网络状态等)可以通过以下常用命令来实现:1. 查看 CPU 使用率top:实时显示系统的总体运行状况,包括 CPU、内存使用情况和各个进程的信息。按 1 键可以显示每个 CPU 核心的使用情况。htop:top 的增强版本,提供更友好的界面和更多的功能(需要安装)。mpstat:显示各个 CPU 的使用情况,通常与 sysstat 工具包一起使用。示例:mpstat -P ALL 1 显示每个 CPU 核心每秒的使用情况。2. 查看内存使用情况free -h:显示系统的内存使用情况,包括总量、已用、空闲和交换分区使用情况。-h 选项表示以人类可读的格式显示数据(例如:MB、GB)。vmstat:显示系统的内存、交换分区和 CPU 资源的综合统计信息。示例:vmstat 1 5 每秒输出一次系统状态,持续 5 秒。3. 查看磁盘使用情况df -h:显示文件系统的磁盘空间使用情况,包括每个分区的总容量、已用、可用空间。-h 选项表示以人类可读的格式显示数据。du -sh *:显示指定目录下每个文件或子目录的磁盘使用情况,总结输出。-s 表示总结,-h 表示以人类可读格式显示。iostat:显示磁盘设备的 I/O 统计信息,通常与 sysstat 工具包一起使用。示例:iostat -x 1 每秒显示一次详细的 I/O 统计信息。4. 查看网络状态ifconfig 或 ip addr:显示网络接口的配置信息包括 IP 地址、子网掩码等netstat -tuln:显示系统当前打开的端口和监听状态包括 TCP 和 UDP 端口ss -tuln:netstat 的更快替代品显示打开的端口和监听状态ping:检查网络连通性。示例:ping google.com 测试到 Google 的连通性。traceroute:跟踪数据包从本地机器到目标地址的路径。示例:traceroute google.com。5. 查看系统负载uptime:显示系统的运行时间和平均负载(load average)。top 或 htop:实时显示系统负载信息。sar:系统活动报告,可以记录和回放负载数据,通常与 sysstat 工具包一起使用。6. 查看进程信息ps aux:显示系统上当前运行的所有进程及其详细信息。top 或 htop:实时显示系统的进程及其 CPU、内存占用情况。pstree:以树状结构显示进程及其父子关系。 蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。引言IPv6(Internet Protocol Version 6)是为了解决IPv4地址枯竭问题而设计的下一代互联网协议。随着互联网设备的迅猛增长,IPv6的普及成为了必然选择。它不仅提供了极其庞大的地址空间,还带来了更高效的网络性能和安全性。本文将结合具体操作,详细讲解如何在Linux系统中配置和使用IPv6,包括地址类型、配置步骤以及实际应用。什么是IPv6?IPv6是一种使用128位地址空间的协议,理论上可以提供约3.4×10^38个独立的IP地址,极大扩展了互联网地址的池子。IPv6地址的设计更加简洁,且引入了内置的多播支持和更强的安全性。IPv6地址类型IPv6地址主要有以下几种类型:全局单播地址(Global Unicast Address):类似于IPv4的公网地址,用于全球范围内的唯一标识。链路本地地址(Link-Local Address):用于同一链路上的设备通信,通常是自动生成的,前缀为fe80::/10。唯一本地地址(Unique Local Address,ULA):类似于IPv4的私网地址,用于局部网络,前缀为fd00::/8。配置IPv6在Linux中,IPv6的配置并不复杂。下面是配置链路本地地址和唯一本地地址的步骤:1. 检查IPv6是否启用首先,确认你的系统支持IPv6,可以通过以下命令查看:cat /proc/net/if_inet6如果返回了IPv6地址信息,说明系统已支持IPv6。如果没有,检查内核模块是否加载:lsmod | grep ipv6 2. 启用IPv6如果IPv6未启用,可以通过修改/etc/sysctl.conf文件来启用IPv6支持:sudo nano /etc/sysctl.conf添加以下内容:net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0保存并退出后,执行以下命令重新加载配置:sudo sysctl -p 3. 配置网络接口根据不同的发行版,配置IPv6的方法稍有不同。在Debian/Ubuntu上,编辑/etc/network/interfaces文件:sudo nano /etc/network/interfaces添加以下配置:iface eth0 inet6 static address fd00::1 netmask 64 在CentOS/RHEL上,编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件:sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0添加以下内容:IPV6INIT=yesIPV6ADDR=fd00::1/64保存并重启网络服务:sudo systemctl restart network 4. 验证配置使用以下命令验证IPv6地址是否配置成功:ip -6 addr show eth0你应该能看到类似fd00::1的IPv6地址。 5. 测试IPv6连接使用ping6命令测试IPv6是否能够正常连接:ping6 google.com如果能够成功ping通,说明IPv6配置正确。IPv6地址划分与应用公网地址(全局单播地址):用于Web服务器、邮件服务器等需要在全球范围内访问的应用。私网地址(唯一本地地址):用于局域网内的设备通信,比如公司内部网络和家庭网络。配置最简化的ULA地址在实际应用中,我们可以配置简化的唯一本地地址,前缀为fd00::/8,例如fd00::1/64。在Debian/Ubuntu上:编辑网络接口配置文件:sudo nano /etc/network/interfaces添加以下内容:iface eth0 inet6 static address fd00::1 netmask 64在CentOS/RHEL上:编辑网络接口配置文件:sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0添加以下内容:IPV6INIT=yesIPV6ADDR=fd00::1/64然后重启网络服务:sudo systemctl restart network 结论在Linux系统中,IPv6的配置其实并不复杂,尤其是链路本地地址和唯一本地地址的配置,可以帮助你更好地管理和使用IPv6网络。随着IPv6的普及,理解如何配置和应用这些地址将有助于提升网络效率并为未来的互联网发展做好准备。蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
信息化时代,短信群发成为了企业营销、通知、客户服务重要的沟通方式之一。无论是用于推广活动、节日问候,还是系统通知,短信群发都能为用户提供便捷和高效的服务。然而,面对市面上众多的短信群发平台,价格成为了大家在选择短信群发平台时关注的焦点。短信群发平台价格受多个因素影响,例如短信群发平台的稳定性、短信群发平台的价格、技术支持和售后服务等。短信群发平台的稳定性:短信群发过程中,平台的稳定性至关重要。如果平台通道不稳定,会导致信息的发送故障或发送延迟,无法保障到达率,影响企业营销的效率和用户的体验感。因此,短信群发平台的稳定性是影响短信群发平台价格的重要因素。只有资质齐全,实力强劲的短信群发平台才有实力投入更多的资源保障平台的稳定性,保障短信发送的及时性。在选择短信群发平台时,建议大家选择经验丰富的专业短信群发平台。蓝队云就是一家专业的短信群发平台,为用户提供验证类、通知类、营销类三种类型的短信群发服务。具有15年的行业服务经验,通道质量稳定,短信群发到达率高达99.99%,通知类短信5S必达。能够群发移动、联通、电信三网的短信,及时将短信送达用户。短信群发平台价格:短信群发平台价格通常是企业关注的重点,平台的定价结构通常由短信数量、功能、服务、通道租用等几方面构成。市场上短信群发平台价格参差不齐,有1-2分的,也有3-6分的。但综合考虑短信群发价格的构成,正常的市场价格应该在3-6分/条之间,过低价格的短信群发平台可能会存在虚假扣量或短信通道的不稳定的情况。在选择短信群发平台时,建议大家核对市面上短信群发平台价格,切记不要陷入低价的陷阱。推荐大家选择蓝队云,不仅短信群发价格低至3分/条,还支持企业用户免费试用1000条短信,平台质量有保障,价格公开透明,按照“发送成功计费”的规则,且蓝队云专业短信群发平台承诺,绝不存在虚假扣量,用户购买短信服务后可在蓝队云可视化后台对发送详情进行实时监控,掌握发送的情况,并且按照实际发送状态进行调整。短信群发平台的技术支持和售后服务:除了短信群发平的稳定性和价格外,技术支持和售后服务也是企业在选择短信群发平台时重点考虑的因素。如果短信群发平台能够为用户提供及时、专业的技术支持和完善的售后服务,可以帮助企业在群发短信的过程中避免很多问题。蓝队云专业短信群发平台为用户提供7*24小时的在线技术支持,专业运维团队能够快速解决用户遇到的技术问题,避免影响企业的业务进程。总的来看,短信群发平台价格受到平台稳定性、定价模式以及技术支持和售后服务等因素的影响。企业在选择时,需要综合考虑实际的需求、预算和期待的服务质量。蓝队云短信群发平台在价格方面具有显著优势,同时在到达率、稳定性、功能和服务等方面也表现卓越。现在2025刚开年,如果您还在考虑短信群发平台价格,不知道怎么才能选到靠谱的短信群发平台,不妨到蓝队云官网免费试用一下,蓝队云官网为大家准备了短信群发的试用名额,支持企业用户免费试用1000条,即领即用,没有任何任务。入口就放在文末,有需要的朋友一定要抓住机会哟!注册即可免费试用1000条短信!
mysql8.0的角色管理欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。1. 角色的理解角色是在MySQL8.0中引入的新功能。在MySQL中,角色是权限的集合,可以为角色添加或移除权限。用户可以被赋予角色,同时也被授予角色包含的权限。对角色进行操作需要较高的权限,并且像用户账户一样,角色可以拥有授予和撤销的权限。引入角色的目的是方便管理拥有相同权限的用户。恰当的权限设定,可以确保数据的安全性,这是至关重要的。2. 创建角色在实际应用中,为了安全性,需要给用户授予权限, 当用户数量较多时,为了避兔单独给每一个用户授予多个权限,可以先将权限集合放入角色中,再赋予用户相应的角色。创建角色使用 CREATE ROLE 语句,语法如下:CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...;角色名称的命名规则和用户名类似。如果host_name省略,默认为%,role_name不可省略,不可为空。示例:我们现在需要创建一个经理的角色,就可以用下面的代码:CREATE ROLE 'manager'@'localhost';这里创建了一个角色,角色名称是"manager",角色可以登录的主机是"localhost",意思是只能从数据厍服务器运行的这台计算机登录这个账号。你也可以不写主机名,直接创建角色 "manager"。CREATE ROLE 'manager';如果不写主机名MySQL默认是通配符%,意思是这个账号可以从任何一台主机上登录数据库。同样道理,如果我们要创建库管的角色,就可以用下面的代码CREATE ROLE 'stocker';还可以通过如下命令,一次性创建3个角色:CREATE ROLE 'app_developer','app_read','app_write';3. 给角色赋予权限创建角色之后,默认这个角色是没有任何权限的,我们需要给角色授权。给角色授权的语法结构是:GRANT privileges ON table_name TO 'role_name'[@'host_name'];上述语句中privileges代表权限的名称,多个权限以逗号隔开。可使用SHOW语句查询权限名称,图中列出了部分权限列表。SHOW PRIVILEGES\\\\G示例1: 我们现在想给经理角色授予商品信息表、盘点表和应付账款表的只读权限,就可以用下面的代码来实现:GRANT SELECT ON demo.settlement TO 'manager';GRANT SELECT ON demo.goodsmaster TO 'manager';GRANT SELECT ON demo.invcount TO 'manager';如果我们需要赋予库管角色盘点表的增删改权限、商品信息表的只读权限,对应付账款表没有权限,就可以这样:GRANT SELECT,INSERT,DELETE,UPDATE ON demo.invcount TO 'stocker';GRANT SELECT ON demo.goodsmaster TO 'stocker';示例2:GRANT ALL PRIVILEGES ON app_db.* TO 'app_developer'; -- 给app_db数据库中的所有表的所有权限GRANT SELECT ON app_db.* TO 'app_read'; -- 给app_db数据库中的所有表的查询权限GRANT INSERT,DELETE,UPDATE ON app_db.* TO 'app_write'; -- 给app_db数据库中的所有表的修改权限示例3 创建三个角色,分别拥有全部权限、查询权限和读写权限, 步骤如下所示·(1) 使用如下sql,创建三个角色, 角色名为school_admin, school_read, school_writeCREATE ROLE 'school_admin','school_read','school_write';(2) 给每个角色授予对应的权限,school_admin可以对数据库shool中的所有表进行任何操作, school_read只能对数据厍中的表进行查询, school_write可以对数据库shool 中的表进行读与操作,SQ语句如下。GRANT ALL PRIVILEGES ON school.* TO 'school_admin'; GRANT SELECT ON school.* TO 'school_read'; GRANT SELECT,INSERT,DELETE,UPDATE ON school.* TO 'school_write';4. 查看角色的权限赋予角色权限之后,我们可以通过 SHOW GRANTS语句,来查看权限是否创建成功了mysql> SHOW GRANTS FOR 'manager'@'%';+-------------------------------------------------------+| Grants for manager@% |+-------------------------------------------------------+| GRANT USAGE ON *.* TO `manager`@`%` || GRANT SELECT ON `demo`.`goodsmaster` TO `manager`@`%` || GRANT SELECT ON `demo`.`invcount` TO `manager`@`%` || GRANT SELECT ON `demo`.`settlement` TO `manager`@`%` |+-------------------------------------------------------+只要你创建了一个角色,系统就会自动给你一个“ USAGE ”权限,意思是 连接登录数据库的权限。代码的最后三行代表了我们给角色“manager”赋予的权限,也就是对商品信息表、盘点表和应付账款表的只读权限。再示例:来看看库管角色的权限:mysql> SHOW GRANTS FOR 'stocker'@'%';+-----------------------------------------------------------------------------+| Grants for manager@% |+-----------------------------------------------------------------------------+| GRANT USAGE ON *.* TO `stocker`@`%` || GRANT SELECT ON `demo`.`goodsmaster` TO `stocker`@`%` || GRANT SELECT, INSERT, UPDATE, DELETE ON `demo`.`invcount` TO `stocker`@`%` |+-----------------------------------------------------------------------------+结果显示,库管角色拥有商品信息表的只读权限和盘点表的增删改查权限。5. 回收角色的权限角色授权后,可以对角色的权限进行维护,对权限进行添加或撤销。添加权限使用GRANT语句,与角色授权相同。撤销角色或角色权限使用REVOKE语句。修改了角色的权限,会影响拥有该角色的账户的权限。撤销角色权限的SQL语法如下:REVOKE privileges ON tablename FROM 'rolename';示例1:撤销school_write角色的权限。(1)使用如下语句撤销school_write角色的权限。REVOKE INSERT, UPDATE, DELETE ON school.* FROM 'school_write'@'%';(2)撤销后使用SHOW语句查看school_write对应的权限,语句如下。SHOW GRANTS FOR 'school_write'@'%';示例2:REVOKE INSERT, UPDATE, DELETE ON app_db.* FROM 'app_write'@'%'; # 收回角色的权限6. 删除角色当我们需要对业务重新整合的时候,可能就需要对之前创建的角色进行清理,删除一些不会再使用的角色。删除角色的操作很简单。语法如下:DROP ROLE role1 [, role2]...;注意:如果删除了角色,那么用户也就失去了通过这个角色所获得的所有权限。示例:删除角色school_read。DROP ROLE 'school_read'@'%'7. 给用户赋予角色角色创建并授权后,要赋给用户并处于 激活状态 才能发挥作用。给用户添加角色可使用GRANT语句,语法形式如下:GRANT role [,role2,...] TO user [,user2,...];在上述语句中,role代表角色,user代表用户。可将多个角色同时赋予多个用户,用逗号隔开即可。示例:给kangshifu用户添加角色school_read权限。(1)使用GRANT语句给zhang3添加school_read权限,SQL语句如下。GRANT 'school_read'@'%' TO 'zhang3'@'%';(2)添加完成后使用SHOW语句查看是否添加成功。SHOW GRANTS FOR 'zhang3'@'%';(3)使用zhang3用户登录,然后查询当前角色,如果角色未激活,结果将显示NONE。mysql> SELECT CURRENT_ROLE();+----------------+| CURRENT_ROLE() |+----------------+| NONE |+----------------+1 row in set (0.02 sec)上面结果是NONE,说明用户未具备相应的角色。或者你用赋予了角色的用户去登录、操作,你会发现,这个账号没有任何权限。这是因为,MySQL中创建了角色之后,默认都是没有被激活,也就是不能用,须要手动激活,激活以后用户才能拥有角色对应的权限。蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
HTTP状态码是由三位数字组成的代码,用于表示客户端请求服务器时的处理结果。其中,301和302状态码都属于重定向状态码,通常在网站URL地址变化或者跳转时使用。本文将详细介绍301和302状态码的区别。301状态码:永久移动(Moved Permanently)当服务器返回301状态码时,表示请求的URL已被永久移动到新的位置,并且所有的将来请求都应该使用新的URL。301状态码会把原本请求的URL自动转发到新的URL,因此搜索引擎会把原本的权重和收录情况都转移到新的URL上,而不会保留原本的URL。301状态码是一个永久性的重定向,它告诉搜索引擎,这个页面已经“死了”,并且没有任何内容可以展示给用户。因此,搜索引擎在遇到301状态码时会直接把搜索结果转移到新的URL上,而不再对旧的URL进行处理。302状态码:临时移动(Found)当服务器返回302状态码时,表示请求的URL临时被移动到了新的位置。与301状态码不同的是,302状态码只是暂时性的重定向,所以搜索引擎并不会把权重和收录情况转移到新的URL上,而是保留原本的URL。302状态码是一个临时性的重定向,它告诉搜索引擎,这个页面只是暂时被移动了,而不是永久性地变化了。因此,搜索引擎在遇到302状态码时会暂时保留原本的URL,等待新的URL上线之后再进行处理。301和302状态码的使用场景301状态码:1. 网站扩展、升级或改版后,旧的URL地址不再使用,需要转移到新的URL地址。2. 网站更改域名,需要把旧的网址跳转到新的网址上。3. 防止重复内容,对于一些相似的页面,可以使用301状态码把它们都跳转到同一个URL上。302状态码:1. 当网站需要暂时针对某个URL进行跳转处理,但是未来可能会把这个URL还原回来时,可以使用302状态码。 2. 对于一些测试页面等,可以使用302状态码进行暂时性的跳转。 3. 对于一些广告和推广页面,可以使用302状态码进行跳转,以便在未来取消广告和推广活动时能够轻松地撤回这些URL地址。代码示例当服务器需要进行重定向时,可以通过设置HTTP状态码和指定Location头来实现。以下是Java中使用Servlet实现301和302状态码的跳转示例:301状态码的跳转示例:302状态码的跳转示例:需要注意的是,在使用Java Servlet实现重定向操作时,必须在Servlet的doGet()或doPost()方法中调用response.sendRedirect()方法,这样才能真正地将请求重定向到新的URL。此外,也可以通过设置重定向的HTTP状态码和Location头来实现重定向。总结301状态码表示请求的URL已经永久更改为新的URL,搜索引擎会把搜索结果全部指向新的URL;302状态码表示请求的URL暂时性的被移动到了新的URL,搜索引擎会继续保留原本的URL用于搜索结果的展示,不会立即生效。在使用状态码时,根据实际需求选择301或者302,可以更好地实现网站SEO优化、页面跳转等功能。想了解更多HTTP状态码相关分享欢迎上蓝队云官网查询,更多免费技术学习文档,蓝队云期待与您一起探索。
在网络安全领域,各种攻击手段层出不穷,时刻威胁着网络系统的安全与稳定。本文将深入剖析 SQL 注入、XSS、CSRF 等十四种常见的网络攻击类型,详细阐述它们的概念、原理与攻击方式,为大家揭开网络安全威胁的神秘面纱。一、SQL注入:概念:一种将恶意代码插入到程序 SQL 语句中,从而误导数据库执行恶意逻辑的攻击技术。通过 SQL 注入,攻击者可以达到获取敏感信息,窃取访问权限等目的。攻击方式:搜索注入报错注入堆叠查询注入基于布尔的盲注基于时间的盲注(延时注入)HTTP头部注入宽字节注入二阶注入DNSlog外带注入二、XSS原理:攻击者利用浏览器执行前端代码(HTML、CSS、JavaScript)的特性,将恶意的JavaScript代码插入到页面中,当用户浏览页面时,导致恶意代码被执行。攻击方式:1.反射型 xss 攻击的方法为:攻击者通过发送邮件或诱导等方法,将包含有 xss 恶意链接发送给目标用户,当目标用户访问该链接时,服务器将接收该用户的请求并进行处理,然后服务器把带有 xss 恶意脚本发送给目标用户的浏览器,浏览器解析这段带有 xss 代码的恶意脚本后,就会触发 xss 攻击2.存储型 XSS为持久化攻击,代码是存储在服务器中的数据库里,如在个人信息或发表文章等地方,可以插入代码,如果插入的数据没有过滤或过滤不严,那么这些恶意代码没有经过过滤将储存到数据库中,用户访问该页面的时候,没有进行编码过滤输出到浏览器上,就会触发代码执行,造成 xss 攻击3.DOM型 xss,DOM 型 XSS 其实是一种特殊类型的反射型 XSS,它是基于 DOM 文档对象模型的一种漏洞。在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的 Document object 文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过 JS 脚本对文档对象进行编辑从而修改页面的元素。也就是说,客户端的脚本程序可以通过 DOM 来动态修改页面内容,从客户端获取 DOM 中的数据并在本地执行。基于这个特性,就可以利用 JS 脚本来实现 XSS 漏洞的利用!三、CSRF攻击方式:1. 以受害者名义发送邮件,发消息。2. 盗取受害者的账号,甚至购买商品,虚拟货币转账。3. 修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)。4. 网站后台创建管理员用户,破坏网站,获取服务器权限等。四、SSRF攻击方式:1.访问内部资源:攻击者通过在目标应用程序中构造恶意请求,使其发起针对内部网络的请求。2.攻击内部系统:攻击者可以通过SSRF攻击利用受害者服务器作为跳板攻击其他系统。3.绕过访问控制:攻击者可以利用SSRF漏洞绕过访问控制,直接访问目标系统。4.DOS攻击:攻击者可以通过SSRF攻击使目标服务器发起大量的请求,从而导致拒绝服务(DoS)状态。5.利用其他漏洞:攻击者可以将SSRF与其他漏洞结合使用,以增强攻击效果。五、CORS概念:跨域资源共享,其思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,它允许浏览器向跨域服务器发出XMLHttpRequest请求,从而克服AX只能同源使用的限制。原理:第三方网站生成访问控制策略,指定用户浏览器放宽SOP的限制,实现与指定的目标网站共享数据。六、CORS跨域漏洞概念:因为同源策略的存在,不同源的客户端脚本不能访问目标站点的资源,如果目标站点CORS配置不当,没有对请求源的域做严格限制,导致任意源都可以访问时,就存在cors跨域漏洞问题。原理:攻击者可以利用Web应用对用户请求数据包的Origin头校验不严格,诱骗受害者访问攻击者制作好的恶意网站,从而跨域获取受害者的敏感数据。攻击方式:构造恶意的html页面,利用链接诱导受害者进行点击,从而获取受害者的敏感信息七、JSONP概念:JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,是基于JSON格式达的为解决跨域请求资源而产生的解决方案。原理:他实现的基本原理是利用的script标签的src属性不受同源策略影响的特性,来跨越获取数据。说人话就是:可以让网页从别的域名(网站)那获取资料,即跨域读取数据。攻击方式:构造恶意的html页面,利用链接诱导受害者进行点击,从而获取到受害者的敏感信息八、文件包含漏洞概念:在PHP程序中使用文件包含的对象可以被前端的用户控制且没有经过过滤或严格的定义,用户可以将其他的文件作为参数带入到PHP代码中解释执行,从而造成敏感信息泄露/程序文件读取/GetShell等危害的漏洞。原理:在应用程序中未正确过滤用户控制的文件路径,并将用户提供的输入直接或间接地包含在动态文件包含语句中。攻击方式:1. 本地文件包含(Local File Inclusion,LFI)攻击:攻击者通过构造恶意请求,直接或间接地包含服务器上的本地文件。如果攻击成功,攻击者可以读取敏感文件的内容,如配置文件、用户凭证、日志文件等。有时候攻击者甚至可以通过修改包含的文件来达到任意代码执行的目的。2. 远程文件包含(Remote File Inclusion,RFI)攻击:攻击者通过构造恶意请求,将远程服务器上的文件包含到应用程序中。攻击者通常会在远程服务器上放置恶意脚本,然后通过文件包含漏洞来执行这些恶意脚本。这使得攻击者能够在目标服务器上执行任意的代码,并可能导致服务器完全被控制。九、文件上传漏洞概念:由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上传可执行的动态脚本文件。原理:网站web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个web可访问的目录上,并将恶意文件传递给PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。攻击方式:寻找测试网站的文件上传的模块,常见:头像上传,修改上传,文件编辑器中文件上传,图片上传、媒体上传等,通过抓包上传恶意的文件进行测试,上传后缀名 asp php aspx 等的动态语言脚本,查看上传时的返回信息,判断是否能直接上传,如果不能直接上传,再进行测试上传突破,例如上传文件的时候只允许图片格式的后缀,但是修改文件时,却没有限制后缀名,图片文件可以修改成动态语言格式如php,则可能访问这个文件的 URL 直接 getshell,可以控制网站。十、文件解析漏洞概念:由于中间件错误的将任意格式的文件解析成网页可执行文件,配合文件上传漏洞进行GetShell的漏洞!原理:由于网站管理者操作不当或者web服务器自身的漏洞,导致一些特殊文件被IIS,apache,nginx或者其他web服务器在某种情况下解析成脚本文件去执行。攻击方式:1. 目录遍历攻击:攻击者利用文件解析函数未正确过滤用户输入的路径导致的漏洞,尝试获取系统中的敏感文件。攻击者可能使用"../"等字符序列来跳出当前目录,访问系统中的其他目录和文件。2. 文件包含漏洞:攻击者通过向应用程序提交恶意请求,利用应用程序在包含外部文件时未进行恰当验证的漏洞。攻击者可能通过在URL参数、请求头部或配置文件中注入恶意文件路径来实现对恶意代码的执行。3. 远程文件包含(RFI)攻击:攻击者通过利用包含远程文件的功能,向应用程序注入恶意代码。攻击者可以通过提供指向恶意脚本的远程URL,使应用程序将该脚本下载并在服务器上执行。4. 本地文件包含(LFI)攻击:攻击者通过注入文件路径或恶意代码,利用应用程序在包含本地文件时未进行适当验证的漏洞。攻击者可能访问系统中的敏感文件、加密密码、配置文件等。5. Null字节注入攻击:攻击者通过在文件名中插入空字节(0x00),欺骗解析函数将文件截断,从而绕过文件扩展名控制,执行恶意代码。十一、反序列化漏洞概念:当程序在进行反序列化时,会自动调用一些函数,例如__wakeup(),__destruct()等函数,但是如果传入函数的参数可以被用户控制的话,用户可以输入一些恶意代码到函数中,从而导致反序列化漏洞。原理:1. 序列化和反序列化:在编程中,对象可以通过序列化转换为字节流,以便在不同的系统之间传输或存储。序列化是将对象转换为字节流的过程,而反序列化是将字节流转换回对象的过程。2. 反序列化漏洞:反序列化漏洞通常出现在输入信任的序列化数据上。攻击者可以构造包含特定有效负载的恶意序列化数据,并将其提供给目标应用程序。3. 不安全的反序列化:应用程序未正确验证或过滤反序列化数据,导致攻击者能够执行恶意操作。这可能是由于应用程序信任反序列化数据,而没有恰当地验证其内容或结构。4. 恶意负载执行:攻击者可以在恶意序列化数据中嵌入可执行代码。当应用程序反序列化此数据时,恶意代码将被执行,从而使攻击者能够执行任意操作,包括远程代码执行、拒绝服务攻击、数据泄露等。5. 特定漏洞类型:具体的反序列化漏洞类型包括Java中的Java反序列化漏洞(例如Apache Commons Collections漏洞)、PHP中的PHP反序列化漏洞(例如PHP对象注入漏洞)。这些漏洞通常是由于设计缺陷或使用不当的反序列化库、框架或功能引起的。攻击方式:1. 参数污染攻击:攻击者可以通过修改应用程序或请求的参数,将恶意的序列化数据传递给应用程序。应用程序在反序列化时,会解析并执行这些恶意数据,导致安全漏洞。2. 远程代码执行(RCE):攻击者通过传递经过特殊构造的恶意序列化数据到应用程序,成功执行远程代码。这使得攻击者可以获取应用程序的控制权,并执行任意操作。3. 敏感信息泄露:在某些情况下,应用程序在执行反序列化过程中,可能会暴露敏感信息。攻击者可以通过构造特定的序列化数据,使得应用程序在反序列化时泄露敏感数据。4. 服务拒绝(Denial of Service,DoS)攻击:攻击者可以构造恶意的序列化数据,使目标应用程序在反序列化过程中消耗大量计算资源或内存,导致系统崩溃或无法响应正常请求。5. 链式反序列化攻击:攻击者利用复杂的对象关联和嵌套,通过构造恶意的序列化数据,触发多次反序列化操作。这些操作可能会引起应用程序中的意外行为,导致安全漏洞。十二、命令执行漏洞概念:由于PHP程序未对前端用户提交的数据进行严格过滤或限制,从而导致传入的字段被带入到命令执行函数中作为参数执行,造成GetShell或接管服务器权限等高危害的Web漏洞!原理:服务端没有对执行命令的函数做出过滤导致的。我们可通过编写一些系统函数来输入疑似存在命令执行接口的地方,来检测是否此接口是否存在命令执行漏洞。攻击方式:1. 输入验证不足:当用户输入被直接传递给系统命令时,没有进行充分的输入验证和过滤,攻击者可以通过在输入中插入特殊字符或命令注入,执行任意命令。2. 操作系统调用:当程序在执行命令时使用操作系统的调用函数,但没有正确验证和过滤输入数据,攻击者可以通过构造恶意输入来执行任意系统命令。3. Shell接管:当程序在执行命令时,通过使用系统调用函数将命令传递给一种外部程序解释器,如Shell,但在传递命令时,未正确过滤和验证输入,攻击者可以通过构造特殊字符或命令注入来接管Shell并执行任意命令。4. 文件包含漏洞:当应用程序允许通过用户输入包含外部文件时,如果没有正确验证和过滤输入,攻击者可以构造恶意输入来包含并执行任意命令。5. 操作系统环境变量:当应用程序使用操作系统的环境变量来执行命令时,如果没有正确验证和过滤环境变量,攻击者可以通过修改环境变量的值来执行任意命令。十三、代码执行漏洞概念:由于PHP程序未对前端用户提交的数据进行严格过滤或限制,从而导致传入的字段被带入到代码执行函数中作为参数执行,造成GetShell或接管服务器权限等高危害的Web漏洞!原理:由于开发者在编写代码时没有预见到或考虑到攻击者可能利用输入来执行恶意操作的情况,或者在编写过程中没有充分地进行输入验证、数据过滤和安全控制,从而导致了漏洞的产生。攻击方式:1. 远程代码执行(Remote Code Execution,RCE):攻击者通过输入恶意数据触发目标系统上的代码执行,进而控制目标系统。常见的远程代码执行漏洞包括未经正确过滤的用户输入传递给命令执行函数、不安全的反序列化等。2. SQL 注入(SQL Injection):攻击者通过在用户输入中注入恶意的 SQL 语句,绕过输入验证和过滤,从而执行恶意代码。如果目标系统没有正确处理用户输入的 SQL 查询,就容易受到 SQL 注入攻击。3. 命令注入(Command Injection):攻击者通过在用户输入中注入恶意的命令,绕过输入验证和过滤,从而在目标系统上执行任意命令。常见的命令注入漏洞出现在系统调用、Shell 命令执行、远程管理协议等地方。4. 文件包含漏洞(File Inclusion Vulnerabilities):攻击者通过包含恶意文件的方式执行代码。这种漏洞通常出现在动态包含文件的语言中,如 PHP。如果目标系统未对用户输入进行适当校验和过滤,攻击者就可以通过构造恶意的文件路径或远程 URL,包含并执行恶意文件。5. eval() 函数调用:如果目标系统的代码中使用 eval() 函数动态执行用户输入的代码,而没有对输入进行适当处理和验证,攻击者就可以通过注入恶意代码利用这个漏洞执行任意代码。6. 反序列化漏洞(Deserialization Vulnerabilities):攻击者可以通过构造恶意的序列化数据来实现远程代码执行。当目标系统未正确验证和过滤反序列化的数据时,攻击者可以注入恶意代码。常见的执行命令, 获取敏感信息,写入 web 后门等十四、webshell免杀概念:攻击者通过各种技术手段绕过安全软件的检测和防御机制,使其植入的Webshell能够在目标系统中长期存在而不被发现。原理:通过对Webshell进行修改或加密,使其能够绕过安全软件的检测和防御机制。1. 代码混淆:通过对 webshell 代码进行混淆,使其难以被静态分析引擎或模式匹配规则识别和检测。混淆可以包括变量名、函数名、常量字符串等的更改、添加冗余代码、使用编码或加密等手段。2. 动态加载:将 webshell 拆分为多个模块,通过动态加载和组合来还原完整的功能。这样做可以使原有的 webshell 样本变得不连续,使其更难被基于特征匹配的检测机制检测到。3. 命令执行绕过:在执行命令时,采用一些绕过技巧来规避安全软件的检测和防御。例如,利用操作系统的特殊命令、检测环境是否在沙盒内、模拟用户登录等。4. 数据包加密:对 webshell 和与其交互的数据进行加密,使其在传输过程中难以被网络安全设备或入侵检测系统(IDS/IPS)检测到。5. 反调试和反追踪:在 webshell 中添加反调试和反追踪的代码,以防止安全人员对其进行分析和调试。6. 文件伪装:将 webshell 文件伪装成系统或合法应用程序的文件,使其更难被安全软件或系统文件扫描检测到。攻击方式:1.代码混淆和加密:攻击者使用代码混淆和加密技术,使Webshell的代码难以被识别和分析。这可以包括使用多种编码、加密算法和混淆工具,使Webshell的代码变得无法直接识别和理解。2.变形和变量替换:攻击者通过改变Webshell的代码结构和变量命名,使其与常见的安全检测规则和模式不匹配。这样可以绕过检测系统的静态和动态分析。3.动态生成和反射执行:攻击者使用动态代码生成和反射执行技术,使Webshell的代码不存储在磁盘上,而是在运行时动态生成并执行。这种方式可以绕过静态文件扫描和恶意代码检测。4.高级免杀工具和技术:攻击者使用高级的免杀工具和技术,例如使用自定义的加密算法、虚拟化技术、多级反射执行等,以提高Webshell的免杀能力。这些工具和技术通常能够绕过常见的安全防御工具和规则。5.文件格式的利用:攻击者利用一些特定文件格式的漏洞来传播和执行Webshell。例如,利用图片或文档文件格式的漏洞,将Webshell嵌入其中,从而绕过文件扫描和安全检测。6.时间延迟和睡眠机制:攻击者通过在Webshell代码中添加时间延迟和睡眠机制,使Webshell的活动在特定时间范围内变得较为稀少,从而减少被检测到的可能性。了解这些网络攻击类型的相关知识,是构建坚固网络安全防线的重要基础。无论是网络安全从业者,还是普通的网络用户,都应重视这些潜在威胁,采取有效的防范措施,共同守护网络空间的安全与秩序。想了解更多技术小分享欢迎上蓝队云官网查询,更多免费技术学习文档,蓝队云期待与您一起探索。
Linux之Curl命令参数详解 欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。 在Linux系统中curl 命令是一个不可或缺的工具,它是一个利用 URL 语法在命令行下工作的文件传输工具,支持多种协议,如 HTTP、HTTPS、FTP 等,通过各种参数的灵活组合,curl 能够实现丰富的网络请求功能,帮助我们进行接口测试、数据抓取、网络调试等操作。这里给大家介绍Linux中Curl命令的参数详解。一、基础请求参数1. -X 或 --request该参数用于指定请求方式,如 GET、POST、PUT、DELETE 等。默认情况下,curl 使用 GET 请求方式。例如:curl -X POST http://example.com/api/data上述命令向 http://example.com/api/data 发送一个 POST 请求。2. -d 或 --data用于向服务器发送数据,常与 POST 请求配合使用。数据可以是键值对形式,也可以是 JSON 格式等。例如:curl -X POST -d "name=Kimi&age=25" http://example.com/api/user该命令向服务器发送一个包含表单数据的 POST 请求,请求体中包含 name 和 age 两个字段。3. -H 或 --header用于添加自定义请求头。在与服务器进行交互时,有时需要设置特定的请求头,如 Content-Type、Authorization 等。例如:curl -H "Content-Type: application/json" -d '{"name":"Kimi","age":25}' http://example.com/api/user这里设置了请求头 Content-Type 为 application/json,并发送 JSON 格式的数据。二、输出控制参数1. -i 或 --include在输出中包含 HTTP 响应头。这对于调试和查看服务器返回的完整信息非常有用。例如:curl -i http://example.com执行后,不仅会显示网页内容,还会显示 HTTP 响应状态码、响应头等信息。2. -o 或 --output将输出保存到指定文件中。例如:curl -o example.html http://example.com该命令将 http://example.com 的内容保存到本地的 example.html 文件中。3. -s 或 --silent静默模式,不输出错误和进度信息,只输出服务器的响应内容。这对于在脚本中使用 curl 时,避免输出干扰非常有帮助。例如:curl -s http://example.com三、连接与传输参数1. -L 或 --location自动处理服务器的重定向。当服务器返回 301、302 等重定向响应时,curl 会自动跟随重定向的 URL 继续请求。例如:curl -L http://example.com/old-page如果 http://example.com/old-page 被重定向到 http://example.com/new-page,curl 会自动请求新的 URL。2. -C 或 --continue-at断点续传。在下载大文件时,如果连接中断,可以使用该参数从上次中断的位置继续下载。例如:curl -C - -o bigfile.zip http://example.com/bigfile.zip如果之前下载过该文件且中断了,curl 会从上次下载的位置继续下载。3. -T 或 --upload-file用于上传文件。可以将本地文件上传到服务器指定的位置。例如:curl -T localfile.txt ftp://example.com/upload将本地的 localfile.txt 文件上传到 FTP 服务器的 upload 目录下。四、SSL/TLS 相关参数1. -k 或 --insecure允许 curl 与使用自签名证书或证书链不完整的 HTTPS 服务器进行交互,忽略证书验证错误。在测试环境中或对证书安全要求不高的场景下,该参数比较有用。例如:curl -k https://example.com但需要注意,使用该参数会降低安全性,因为无法验证服务器的身份。2. -E 或 --cert指定客户端证书文件。在与需要客户端证书验证的 HTTPS 服务器交互时,需要使用该参数。例如:curl -E client.crt https://example.com这里 client.crt 是客户端证书文件。3. --cacert指定 CA 证书文件。用于验证服务器证书的有效性。例如:curl --cacert ca.crt https://example.comca.crt 是 CA 证书文件,通过它来验证服务器证书是否由可信的 CA 签发。五、性能与调试参数1. -w 或 --write-out自定义输出格式,用于输出请求和响应的相关信息,如耗时、状态码等。这对于性能测试和调试非常有帮助。例如:curl -w "status_code: %{http_code}, time_total: %{time_total}" http://example.com执行后,会输出 HTTP 状态码和请求总耗时。2. -v 或 --verbose启用详细模式,输出 curl 与服务器交互的详细信息,包括请求头、响应头、SSL 握手信息等。这对于调试网络问题和查看请求过程非常有用。例如:curl -v http://example.com执行后,会显示详细的请求和响应过程。六、实际应用案例1. 接口测试假设我们要测试一个 RESTful API,该 API 提供用户信息的查询和更新功能。首先,我们可以使用 curl 发送 GET 请求查询用户信息:curl -X GET http://api.example.com/users/1然后,使用 POST 请求更新用户信息:curl -X POST -H "Content-Type: application/json" -d '{"name":"Kimi_updated","age":26}' http://api.example.com/users/1通过查看返回的状态码和响应内容,可以判断接口是否正常工作。2. 网络抓包与调试当我们遇到网络请求异常时,可以使用 curl -v 来抓取请求和响应的详细信息。例如,某个请求总是返回 404 错误,我们可以执行:curl -v http://example.com/problematic-page通过查看输出的详细信息,我们可以检查请求头是否正确、路径是否正确、服务器返回的响应头等,从而定位问题所在。3. 文件下载与上传使用 curl 下载文件:curl -o myfile.zip http://example.com/files/myfile.zip上传文件到 FTP 服务器:curl -T localfile.txt ftp://ftp.example.com/upload --user username:password这里还使用了 --user 参数来指定 FTP 服务器的用户名和密码。 蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
HTTP 状态码是服务器在接收到并处理客户端请求后返回的三位数字代码,这些代码表示请求的结果。状态码分为五大类,每一类对应不同的含义。下面是 HTTP 状态码的详细说明及示例:1xx 信息响应100 Continue:客户端应继续请求。示例:客户端发送一个大的文件,服务器确认收到请求的初始部分,客户端可以继续发送其余部分。101 Switching Protocols:服务器同意客户端的协议切换请求。示例:客户端请求将连接从 HTTP 切换到 WebSocket,服务器同意切换。2xx 成功响应200 OK:请求成功并返回所请求的资源。示例:客户端请求一个网页,服务器返回该网页内容。201 Created:请求成功并创建了新资源。示例:客户端发送数据创建新用户,服务器返回新用户的详细信息。202 Accepted:请求已接受但尚未处理。示例:客户端提交一个处理时间较长的任务,服务器接受任务但尚未处理完成。204 No Content:请求成功但没有内容返回。示例:客户端删除一个资源,服务器确认删除成功但没有返回任何内容。3xx 重定向响应301 Moved Permanently:请求的资源已被永久移动到新 URL。示例:客户端请求一个已被永久重定向的网页,服务器返回新 URL。302 Found:请求的资源临时移动到新 URL。示例:客户端请求一个临时重定向的网页,服务器返回临时的新 URL。304 Not Modified:资源未被修改,客户端可以使用缓存的版本。示例:客户端请求一个未修改的资源,服务器指示客户端使用本地缓存版本。4xx 客户端错误响应400 Bad Request:请求无效或语法错误。示例:客户端发送了一个格式错误的请求,服务器无法处理。401 Unauthorized:请求需要身份验证。示例:客户端请求一个受保护的资源,服务器要求客户端提供身份验证。403 Forbidden:服务器拒绝请求。示例:客户端尝试访问一个没有权限的资源,服务器拒绝访问。404 Not Found:请求的资源不存在。示例:客户端请求一个不存在的网页,服务器返回资源未找到。405 Method Not Allowed:请求方法不被允许。示例:客户端使用 POST 请求访问只允许 GET 请求的资源,服务器拒绝请求。5xx 服务器错误响应500 Internal Server Error:服务器内部错误。示例:服务器处理请求时发生未预期的错误,返回内部服务器错误。501 Not Implemented:服务器不支持请求的方法。示例:客户端请求使用未实现的方法,服务器返回不支持。502 Bad Gateway:网关或代理服务器从上游服务器收到无效响应。示例:代理服务器请求上游服务器,收到无效响应。503 Service Unavailable:服务器暂时无法处理请求。示例:服务器由于维护或过载暂时无法处理请求。504 Gateway Timeout:网关或代理服务器等待上游服务器超时。示例:代理服务器请求上游服务器,但等待响应超时。HTTP 状态码不仅仅是对请求结果的简单反馈,它们为开发人员和用户提供了丰富的调试信息和操作指南。通过合理利用状态码,开发人员可以快速识别和解决请求中的问题,从而提高系统的稳定性和用户体验。掌握这些常见的 HTTP 状态码,不仅有助于理解互联网的工作机制,也是提高网站开发与维护效率的基础。想了解其他技术相关的小分享可以前往蓝队云官网查询,更多免费技术学习文档,蓝队云期待与您一起探索。
对于Linux新手来说,即使使用Ubuntu和Mint等用户友好的发行版,使用它仍然可能具有挑战性。虽然这些发行版简化了许多任务,但通常需要一些手动配置,但充分利用Linux的强大功能,了解基本命令至关重要。在Linux中,命令是与系统交互的主要方式,允许用户执行任务、配置设置和高效管理系统。本次给大家总结的指南介绍了60个基本的Linux命令,为初学者提供了基础,并为成为熟练的系统管理员提供了途径。这些命令涵盖了广泛的功能,从导航目录和管理文件到执行高级系统操作。新手的基本Linux命令和示例无论您是初学者还是高级用户,掌握基本的Linux命令对于导航和控制操作系统都至关重要。以下是一些常用的Linux命令及其描述和示例:1.查看目录的内容ls命令用于查看指定目录中的文件和目录,它可以显示可见文件和隐藏文件(默认情况下以.开头的文件是隐藏的)。其他选项可以提供详细信息,如文件权限、所有权、大小和修改日期。ls -la2.查看块、硬盘分区、外置硬盘lsblk命令以树状格式显示有关硬盘驱动器、分区和外部驱动器等块设备的信息。lsblk3.检查下载/传输的软件包的完整性sha256sum或md5sum命令生成并验证文件的加密散列值,这确保了文件在下载或传输后的完整性。sha256sum file.tar.gz4.转换和复制文件dd命令用于低级文件复制和转换,通常用于创建可引导的USB驱动器或克隆磁盘映像。dd if=input.img of=output.img bs=4M status=progress5.了解机器名称、操作系统和内核uname命令提供系统信息,包括内核版本、系统架构和主机名。uname -a6.查看命令历史history命令列出了以前执行的命令,允许您调用或重复使用它们。history7.以root用户身份运行命令sudo命令允许用户以管理员权限执行命令。使用 sudo -i 可切换到根用户 shell。sudo -i8.创建一个新目录mkdir命令在当前位置创建一个具有指定名称的新目录。mkdir my_folder9.创建或更新文件时间戳touch命令创建空文件或更新现有文件的时间戳。touch my_file.txt10.更改文件权限chmod命令更改文件权限,控制谁可以读取、写入或执行文件。chmod 644 my_file.txt11.更改文件所有权chown命令更改文件所有权和组所有权。sudo chown user:group my_file.txt12.安装、更新和维护软件包apt命令管理基于Debian的系统上的软件包。sudo apt update && sudo apt install package_name13.解压缩文件tar命令提取压缩文件。tar -xvzf file.tar.gz14.查看当前日期、时间和日历date和cal命令显示当前日期、时间和日历。datecal15.打印文件内容cat命令将文件的内容打印到终端。cat my_file.txt16.复制和移动文件cp和mv命令分别复制和移动文件。cp source.txt destination.txtmv old_name.txt new_name.txt17.查看工作目录以方便导航pwd命令打印当前目录路径。pwd18.更改工作目录cd命令在目录之间导航。cd /path/to/directory面向中级用户的高级Linux命令一旦你掌握了基本的Linux命令,是时候深入研究更高级的命令了,这些命令将帮助您更有效地管理和优化系统。19.在给定目录中查找文件find命令用于在指定目录中或整个文件系统中搜索文件和目录。find /path/to/directory -name "filename"20.使用给定关键字搜索文件grep命令用于搜索文件中的特定模式(关键字),当您想在文件或一组文件中查找特定信息时,这非常有用。grep "keyword" filename21.查找在线文档man命令显示特定命令的手册或帮助文档,其中提供了有关如何使用命令、其选项和语法的详细信息。man ls22.列出当前运行的进程ps命令显示系统上运行的当前进程的快照,以及进程ID(PID)、内存使用情况和CPU使用情况等详细信息。ps aux要列出与Firefox相关的所有进程,请使用grep过滤输出。ps aux | grep firefox23.终止一个运行进程kill命令用于通过指定要终止的进程的进程ID(PID)来终止正在运行的进程。kill 123424.查看已安装的二进制文件的位置which命令通过搜索PATH环境变量中列出的目录来帮助定位系统PATH中可执行文件的路径,并返回可执行文件的位置。which python325.启动、结束、重启服务systemctl命令用于管理使用systemd的系统上的系统服务(也称为守护进程)。systemctl start service_namesystemctl stop service_namesystemctl restart service_name26.创建和删除命令别名别名是命令的快捷方式,它可以通过减少键入量来节省时间,alias命令创建快捷方式,而unalias则删除它。alias shortcut_name='command'unalias shortcut_name您可以为具有自定义名称的命令创建别名。alias ll='ls -l'unalias ll这为ls -l命令创建了一个别名ll,该命令以长格式列出目录内容。27.查看磁盘和空间使用情况df命令通过提供有关总空间、使用空间和可用空间的信息来显示所有挂载文件系统的磁盘空间使用情况。df -h28.删除文件和/或目录rm命令用于删除文件和目录。您可以使用-r选项递归地删除目录及其内容。rm filenamerm -r directory_name29.在标准输出上打印自定义输出echo命令用于将文本或变量值打印到终端。echo "Custom Message"30.在Linux中更改密码passwd命令用于更改当前用户或其他用户的密码(如果您是根用户)。passwd username31.查看打印队列lpq命令显示打印队列的状态,包括任何待处理或已完成的打印作业。lpq32.比较两个文件diff命令逐行比较两个文件,并显示它们之间的差异。diff file1 file233.下载一个文件,Linux方式(wget)wget命令用于从互联网下载文件,它支持HTTP、HTTPS和FTP协议。wget https://example.com/file.zip34.挂载块/分区/外部硬盘mount命令用于将块设备(例如硬盘驱动器或USB驱动器)附加到文件系统中的目录。mount /dev/sdX /mnt35.编译并运行C、C++和Java代码要在C、C++和Java中编译和运行代码,请使用各自的编译器和运行时。C:gcc用于编译C程序。c。C++:g++用于编译C++程序。Java:javac用于编译Java程序,java用于运行它们。编译和运行C代码:gcc -o outputfile sourcefile.c./outputfile编译和运行C++代码:g++ -o outputfile sourcefile.cpp./outputfile编译和运行Java代码:javac filename.javajava filenameLinux系统管理员的高级Linux命令在本系列的最后一节中,我们试图涵盖管理Linux服务器所需的命令。36.配置网络接口ifconfig命令用于允许您设置、管理和显示网络接口参数,这些参数通常用于分配IP地址、配置网络接口和对网络问题进行故障排除。sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up此命令将IP地址192.168.1.100分配给eth0接口并将其带出。37.查看自定义网络相关信息netstat命令提供有关网络连接、路由表、接口统计等的详细信息。netstat -tuln38.用curl获取数据curl命令用于从服务器或向服务器传输数据。它支持各种协议,包括HTTP、FTP等。您可以使用它从网络服务器获取数据或测试服务器响应。curl -I https://www.example.com39.检查DNS信息dig命令是一个DNS查找实用程序,提供有关DNS记录的详细信息,该记录通常用于对DNS问题进行故障排除。dig example.com40.了解您的系统启动运行时间uptime命令显示系统运行时间、登录用户数量以及过去1、5和15分钟的系统负载平均值。uptime41.向登录用户广播消息wall命令用于向当前登录系统的所有用户发送消息。echo "System Maintenance in 10 minutes" | wall42.直接向用户发送消息write命令允许您向另一个登录的用户发送消息。write username43.用管道组合命令您可以使用管道(|)组合多个命令,将一个命令的输出传递给另一个命令。ps aux | grep firefox44.查看CPU的进程top命令显示系统进程的动态实时视图,包括CPU和内存使用情况。top45.创建新的ext4格式的分区mkfs.ext4命令用于在分区上创建ext4文件系统。sudo mkfs.ext4 /dev/sdb146.使用vi、emacs和nano编辑文件在Linux中,有几个文本编辑器可以直接从命令行编辑文件。其中最受欢迎的是vi、emacs、andnano。使用vi编辑文件:vi filename.txt使用emacs编辑文件:emacs myfile.txt使用nano编辑文件:nano myfile.txt47.复制大文件/文件夹显示进度条rsync命令用于复制文件和目录。使用--progress选项,它会显示一个进度条。rsync -avh --progress source_directory/ destination_directory/48.检查可用内存free命令显示系统中的可用和用过的内存量。free -h49.备份MySQL数据库mysqldump命令用于创建MySQL数据库的备份。mysqldump -u root -p database_name > backup.sql50.生成一个随机密码openssl命令可以生成一个随机密码。openssl rand -base64 1251.合并两个文本文件cat命令可用于将两个文本文件连接成一个。cat file1.txt file2.txt > mergedfile.txt52.所有打开的文件列表lsof命令列出所有打开的文件和打开它们的进程。lsof这些命令是系统管理员和用户与Linux系统高效交互的基本工具。想了解更多Linux命令欢迎上蓝队云官网查询,更多免费技术学习文档,蓝队云期待与您一起探索。
短信群发平台哪个好是很多企业在选择短信群发平台时都会考虑的问题,那么应该怎样才能选到一家服务好、发送率高、性价比高的短信群发平台呢?想知道短信群发平台哪个好,首先我们要去了解短信群发的整体市场情况。当前,虽然支持短信群发业务的平台有很多,但是具有优质通道且资质齐全的专业短信群发平台屈指可数。而蓝队云无论在技术实力、服务上还是性价比上都绝对是极具代表性的专业短信群发平台。为什么在提到短信群发平台哪个好时,很多知名企业或客户都会想到我们蓝队云,主要是因为以下几个方面。一是蓝队云的服务经验丰富,要确定短信群发平台哪个好,公司的服务经验是首要考虑的因素。蓝队云作为专业的云计算与网络安全服务商,支持群发验证类、通知类、营销类三种短信,是超过60000+企业用户和100000+用户选择的专业短信群发平台。支持群发移动、联通、电信三网的短信。在云南省内,蓝队云服务过通信管理局、安宁税务局、昆明市公租房中心、云南白药等多家知名企业,客户满意度高达99.8%。二是蓝队云的平台稳定性高,在选择短信群发平台后,平台的稳定性直接影响着短信群发的到达率,同时也影响着用户的体验感。蓝队云提供专业的技术支持团队,能高效响应用户的问题,兼具可视化后台,方便用户随时监控短信群发的情况,包括发送成功失败的详细数据。可视化后台的提供,能够确保用户及时查收到真实的数据,并且依据发送的真实情况进行调整,这是衡量短信群发平台哪个好不可忽视的标准。三是蓝队云的性价比很高,价格是最终决定短信群发平台哪个好的一个因素。市面上短信群发平台的价格各不相同,价格高的有8、9分一条的,价格低的也有1、2分的。很多低价的短信群发平台存在虚假扣量的状况,发送数量远远不能达标,并且降低了服务标准去压低短信群发的价格。选择蓝队云短信群发平台就不会出现这种状况。因为蓝队云按照“发送成功”计费的规则去计量,即只计算成功发送到达用户手机端的信息,被拦截或因其他原因导致发送失败的短信不计量。蓝队云短信群发价格公开透明,不存在虚假扣量的状况。短信群发的价格更是低至3分每条,考虑到2025开年很多朋友都有大量短信群发的需求,蓝队云还为大家开放了免费试用的通道。所有新注册的企业用户都可以免费领取1000条短信试用,即注册即领用,没有任何套路。选择一个好的短信群发平台绝对是助力企业业务转化的好助手。但在考虑短信群发平台哪个好时,也需要大家综合多方面的因素,如果您对短信群发业务还有任何疑问,都欢迎您前往官网咨询我们的专业客服,我们将及时为您解答。注册即可免费试用1000条短信
服务热线:
4006-75-4006(7*24小时在线)
总机直拨:
0871-63886388(工作日9:00-18:00)
售前咨询
售后咨询
备案咨询
电话
二维码
TOP