当前位置:首页>Linux>Linux服务器被暴力破解?这10步直接把SSH入口“焊死”

Linux服务器被暴力破解?这10步直接把SSH入口“焊死”

  • 2026-07-03 03:38:02
Linux服务器被暴力破解?这10步直接把SSH入口“焊死”

Linux SSH 安全加固:10 步实战显著降低暴力破解风险

⚠️ 本文适用于:CentOS/RHEL、Ubuntu/Debian 系列系统,不同发行版部分路径略有差异,请按需适配。

💡 救命提示:强烈建议操作前保留云控制台登录入口或开启VNC/串口控制台,避免配置失误导致服务器无法链接。

据网络安全机构相关统计,公网上绝大多数Linux服务器初始入侵,都是从SSH暴力破解开始的。黑客用自动化脚本24小时扫描全网的22端口,尝试弱密码组合,一台暴露在公网的服务器,平均每天会遭受上千次暴力破解尝试。一旦你的root密码被破解,黑客就会获得服务器的完全控制权,轻则挖矿、勒索,重则窃取数据、利用你的服务器发起网络攻击,甚至让你承担法律责任。

但不用怕,SSH安全加固并不复杂。这篇文章,会用10个循序渐进的实战步骤,从基础配置到主动防御,再到生产级最佳实践,手把手教你加固服务器的SSH入口,显著降低暴力破解风险


前置准备:SSH配置文件备份与恢复

在做任何SSH配置修改之前,第一步必须是备份原始配置文件。这是新手最容易忽略的点,也是避免你改崩配置后彻底连不上服务器的最后一道防线。

1. 备份配置文件

执行以下命令,给当前的SSH配置文件打一个带日期的备份包:

# 备份SSH主配置文件,带日期后缀,方便回溯cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%Y%m%d)

执行完成后,可以用ls /etc/ssh/sshd_config.bak.*查看备份文件是否生成成功。

2. 配置错误后的恢复方法

如果修改配置后,SSH服务无法启动、或者你无法登录服务器,就可以用备份文件恢复:

# 用备份文件覆盖修改后的配置cp /etc/ssh/sshd_config.bak.你的备份日期 /etc/ssh/sshd_config# 测试配置语法是否正确sshd -t# 重启SSH服务恢复systemctl restart sshd

💡 经验提示:每次修改SSH配置前,都建议重新打一次备份。同时,修改配置的过程中,永远不要关闭当前已经登录的SSH会话,一定要新开一个终端窗口测试登录是否正常,确认没问题后再关闭旧会话。


一、10步SSH安全加固实战,从入门到锁死暴力破解

以下步骤严格遵循「先兜底、后操作、先测试、后生效」的原则,新手请严格按照顺序操作,避免踩坑。

步骤1:修改SSH默认端口,降低90%的扫描攻击

SSH默认使用22端口,全网的黑客扫描脚本都会优先扫22端口,哪怕你的密码强度很高,每天也会被上千次尝试。修改默认端口,能直接过滤掉绝大多数自动化扫描攻击,是性价比最高的基础防护。 ⚠️ 注意:修改端口仅能降低扫描噪音,不能替代其他安全措施,需配合后续加固步骤使用。

实操步骤

  1. 编辑SSH主配置文件
# 新手推荐用nano编辑器,操作更简单;熟悉vim的可以用vimnano /etc/ssh/sshd_config
  1. 找到#Port 22这一行,去掉前面的注释#,把22改成1024-65535之间的未被占用端口(比如22022,不要用80、443、3306等常用服务端口) 修改后示例:
Port 22022
  1. 测试配置语法是否正确(无任何输出即为语法正确)
sshd -t
  1. 重启SSH服务使配置生效
# CentOS/RHEL 系列systemctl restart sshd# Debian/Ubuntu 系列systemctl restart ssh
  1. 防火墙和安全组放行新端口

⚠️ 90%新手都会踩的坑:修改端口后,必须同时在服务器防火墙和云服务器控制台的安全组里放行新端口,否则会直接连不上服务器!

  • firewalld放行(CentOS系列默认):
firewall-cmd --add-port=22022/tcp --permanentfirewall-cmd --reload
  • ufw放行(Ubuntu系列默认):
ufw allow 22022/tcpufw reload
  • 同时前往你的云服务器控制台(阿里云/腾讯云/华为云等),在安全组规则中添加入站规则,放行TCP 22022端口。
  1. 新端口登录测试 新开一个终端窗口,用新端口测试登录:
# 格式:ssh 用户名@服务器IP -p 新端口ssh root@1.2.3.4 -p 22022

能正常登录,即说明端口修改成功。

步骤2:配置SSH密钥登录,彻底告别弱密码风险

密码登录是暴力破解的核心目标,哪怕你的密码再复杂,也有被破解的可能。而SSH密钥登录采用非对称加密算法,通过公钥和私钥配对验证,只有持有私钥的人才能登录服务器,是当前主流的安全登录方案,能大幅提升SSH登录安全性。

1. 本地生成SSH密钥对

操作在你的本地电脑执行,不是服务器。

Linux/Mac 用户

直接在终端执行:

# 推荐ed25519算法,比传统RSA更安全、性能更好ssh-keygen -t ed25519 -C "你的备注(比如邮箱)"

若你的系统较老不支持ed25519,可使用RSA算法:ssh-keygen -t rsa -b 4096

执行后,回车使用默认密钥保存路径;随后会提示设置私钥密码(Passphrase),强烈建议设置,哪怕私钥泄露,别人没有密码也无法使用,相当于二次防护。

生成完成后,密钥对保存在~/.ssh/目录下:

  • id_ed25519
    :私钥文件,绝对不能泄露给任何人,禁止上传到公网、Git仓库等公开位置
  • id_ed25519.pub
    :公钥文件,可安全上传到服务器
Windows 用户
  • 方法1:Win10及以上系统自带SSH客户端,直接在PowerShell中执行和上面相同的ssh-keygen命令,密钥生成在C:\Users\你的用户名\.ssh\目录下
  • 方法2:使用Xshell、Putty等工具,通过图形界面生成密钥对,记得导出公钥和私钥文件。

2. 把公钥上传到服务器

在本地终端执行以下命令,自动将公钥上传到服务器对应用户的授权文件中:

⚠️ 说明:Windows 用户若提示该命令不存在,请使用 Git Bash 或手动复制公钥的方式上传。

# 格式:ssh-copy-id -p 端口号 用户名@服务器IPssh-copy-id -p 22022 root@1.2.3.4

执行后输入服务器用户密码,公钥会自动写入服务器的~/.ssh/authorized_keys文件中。

若本地不支持ssh-copy-id,可手动上传:

  1. 查看本地公钥内容:cat ~/.ssh/id_ed25519.pub
  2. 登录服务器,执行以下命令:
mkdir -p ~/.sshchmod 700 ~/.sshecho"你的公钥完整内容" >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys

3. 密钥登录测试

重点:不要关闭当前的SSH会话! 新开一个终端窗口,执行登录命令:

ssh root@1.2.3.4 -p 22022

若能直接登录(或仅需输入你设置的私钥密码,无需输入服务器用户密码),即说明密钥登录配置成功。

⚠️ 高频坑点:配置后仍需输入密码?99%是权限问题!服务器上的.ssh目录权限必须为700,authorized_keys文件权限必须为600,否则SSH会因安全问题拒绝公钥认证。执行以下命令修复:

chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys# 确保目录所有者为登录用户,而非rootchown -R 你的用户名:你的用户组 ~/.ssh

步骤3:禁用root用户远程登录,缩小攻击面

root是Linux系统的超级管理员,拥有最高权限,也是黑客暴力破解的头号目标。一旦root密码被破解,服务器就彻底沦陷了。禁用root用户的远程登录,能大幅缩小攻击面,哪怕普通用户的密码泄露,黑客也只能拿到有限权限,不会直接控制整台服务器。 ⚠️ 注意:某些自动化工具或脚本可能依赖root登录,禁用前请确认业务兼容性。

⚠️ 高危提示:操作此步骤前,必须先创建一个有sudo权限的普通用户!否则禁用root登录后,你将无法管理服务器!

1. 创建带sudo权限的普通用户

# 1. 创建用户(-m 自动创建home目录,避免后续密钥登录失败),示例用户名为ops,可自定义useradd -m ops# 2. 给用户设置登录密码passwd ops# 3. 给用户添加sudo权限(CentOS/RHEL 系列)usermod -aG wheel ops# 3. 给用户添加sudo权限(Debian/Ubuntu 系列)usermod -aG sudo ops

创建完成后,新开终端窗口,测试普通用户登录和sudo权限是否正常:

# 用普通用户登录ssh ops@1.2.3.4 -p 22022# 测试sudo权限,能正常输出即说明权限正常sudo ls /root

2. 禁用root远程登录

编辑SSH配置文件:

nano /etc/ssh/sshd_config

找到#PermitRootLogin yes这一行,去掉注释,将yes改为no

PermitRootLogin no

特殊场景说明:若你需要root用户用密钥登录,可设置为PermitRootLogin prohibit-password,这样root用户仅能通过密钥登录,禁止密码登录,兼顾便利与安全。

3. 生效配置

# 测试配置语法sshd -t# 重启SSH服务systemctl restart sshd

4. 验证效果

新开终端窗口,尝试用root用户登录,会被直接拒绝;用普通用户登录正常,即说明配置成功。

步骤4:彻底禁用密码登录,从根源杜绝暴力破解

当你配置好密钥登录,并且测试完全正常后,就可以彻底禁用密码登录了。这样一来,黑客哪怕有再强大的密码字典,也没法通过暴力破解你的服务器,SSH入口仅剩下密钥这一条路,能大幅提升安全性。 ⚠️ 重点强调:必须保证密钥登录可正常使用,且已准备好备份登录方案(如VNC、控制台登录),再执行此操作。

⚠️ 高危提示:此步骤必须在密钥登录100%测试成功后再操作!否则你会彻底失去远程登录服务器的能力!

实操步骤

  1. 编辑SSH配置文件
nano /etc/ssh/sshd_config
  1. 修改以下参数,确保和下方配置一致(无则新增,有则修改):
# 启用公钥认证(必须开启)PubkeyAuthentication yes# 彻底禁用密码认证PasswordAuthentication no# 禁用挑战响应认证ChallengeResponseAuthentication no# 禁用基于键盘的交互式认证KbdInteractiveAuthentication no
  1. 测试配置并重启服务
sshd -tsystemctl restart sshd
  1. 验证效果 新开终端窗口,尝试用密码登录会被直接拒绝,仅能通过密钥登录,即说明配置成功。

步骤5:配置SSH登录IP白名单,只允许信任的IP登录

这里推荐两种配置方式,优先使用防火墙配置,可根据需求选择:

这是终极防护手段之一,哪怕你的私钥泄露了,黑客也只能从你允许的IP地址登录服务器,从源头拦截绝大多数公网攻击。适合有固定办公IP、堡垒机IP的场景,生产环境强烈建议配置。 ⚠️ 极高风险操作:错误配置会直接导致服务器永久无法访问,操作前务必确认信任IP正确。

这里推荐两种配置方式,可同时配置实现双重防护。

⚠️ 注意:TCP Wrappers(hosts.allow/deny)在现代Linux系统(CentOS 8+、RHEL 8+、Ubuntu 20.04+)中已逐步废弃,OpenSSH新版本默认不再支持libwrap,配置后可能无效,不建议作为主要防护手段。

方式1:TCP Wrappers 白名单配置(不推荐)

  1. 编辑/etc/hosts.allow文件,添加信任的IP/网段:
nano /etc/hosts.allow

添加以下内容,替换为你的信任IP:

# 允许单个IP访问SSHsshd: 192.168.1.100# 允许整个内网网段访问SSHsshd: 10.0.0.0/8sshd: 192.168.0.0/16# 允许你的办公公网IPsshd: 你的固定办公IP
  1. 编辑/etc/hosts.deny文件,拒绝所有其他IP访问SSH:
nano /etc/hosts.deny

添加以下内容:

sshd: ALL

原理:hosts.allow的优先级高于hosts.deny,仅allow列表中的IP能访问SSH,其他所有IP都会被直接拒绝。

方式2:防火墙白名单配置

若你的服务器仅需固定IP访问,可直接在防火墙中配置,仅允许信任IP访问SSH端口,拒绝其他所有请求。

以firewalld为例:

# 先移除之前放行的SSH端口通用规则firewall-cmd --remove-port=22022/tcp --permanent# 仅允许指定IP访问22022端口firewall-cmd --add-rich-rule='rule family="ipv4" source address="你的信任IP" port protocol="tcp" port="22022" accept' --permanent# 重载规则生效firewall-cmd --reload

💡 经验提示:配置IP白名单前,务必确认你添加的信任IP正确,否则自己也会被拦截。若你的IP是动态变化的(如家用宽带),不建议配置全局限白,可使用后文的fail2ban做动态防护。

步骤6:关闭SSH的DNS反向解析,提升登录速度+降低安全风险

SSH默认开启了DNS反向解析,每次登录时,服务器都会反向解析客户端IP的域名,这个过程主要会导致登录卡顿(严重时要等十几秒),其安全影响非常有限。关闭这个功能,不影响正常登录,可显著提升登录速度。

实操步骤

  1. 编辑SSH配置文件
nano /etc/ssh/sshd_config
  1. 找到#UseDNS yes这一行,去掉注释,改为no
UseDNS no
  1. 测试配置并重启服务
sshd -tsystemctl restart sshd

配置完成后,你会发现SSH登录速度有明显提升。

步骤7:设置SSH会话空闲超时,防止闲置会话被利用

如果你登录服务器后忘记退出会话,别人拿到你的电脑,就能直接操作服务器。设置空闲超时时间,当会话闲置超过指定时长,就会自动断开连接,避免安全风险。

实操步骤

  1. 编辑SSH配置文件
nano /etc/ssh/sshd_config
  1. 添加或修改以下两个参数:
# 客户端空闲超时时间,单位秒,这里设置300秒=5分钟ClientAliveInterval 300# 超时无响应的最大探测次数,0表示无响应直接断开ClientAliveCountMax 0
  1. 测试配置并重启服务
sshd -tsystemctl restart sshd

步骤8:显式禁用空密码登录,杜绝无密码访问风险

虽然绝大多数Linux发行版默认禁用了空密码登录,但仍需在配置文件中显式禁用,防止配置被篡改、系统默认配置被修改后,出现空密码就能登录的高危风险。

实操步骤

  1. 编辑SSH配置文件
nano /etc/ssh/sshd_config
  1. 找到#PermitEmptyPasswords no这一行,去掉注释,确保值为no
PermitEmptyPasswords no
  1. 测试配置并重启服务
sshd -tsystemctl restart sshd

步骤9:限制最大并发登录尝试次数,降低暴力破解频率

设置SSH的最大认证尝试次数,当客户端登录失败超过指定次数,就直接断开连接,减少黑客暴力破解的尝试频率,降低服务器的性能压力。

实操步骤

  1. 编辑SSH配置文件
nano /etc/ssh/sshd_config
  1. 添加或修改以下参数:
# 最大认证尝试次数,超过就断开连接,建议设置3-5次MaxAuthTries 3# 最大并发登录会话数,根据你的业务需求设置MaxSessions 10
  1. 测试配置并重启服务
sshd -tsystemctl restart sshd

步骤10:禁用不使用的SSH功能,缩小攻击面

SSH有很多高级功能,比如X11转发、TCP端口转发、SFTP等,如果你用不到这些功能,就直接禁用,减少潜在的攻击面,提升服务器安全性。

实操步骤

  1. 编辑SSH配置文件
nano /etc/ssh/sshd_config
  1. 根据你的实际需求,禁用对应的功能:
# 禁用X11图形转发,绝大多数服务器都用不到X11Forwarding no# 禁用TCP端口转发/SSH隧道,不需要就关闭# ⚠️ 若使用跳板机、端口转发、代理,请不要关闭AllowTcpForwarding noAllowAgentForwarding no# 禁用SFTP文件传输功能(需确认路径,不同发行版路径不同)# Subsystem sftp /usr/lib/openssh/sftp-server   # Debian/Ubuntu# Subsystem sftp /usr/libexec/openssh/sftp-server   # CentOS/RHEL# 可通过 `sshd -T | grep subsystem` 查看当前系统的实际路径
  1. 测试配置并重启服务
sshd -tsystemctl restart sshd

💡 经验提示:这些功能按需禁用即可,如果你需要用SFTP传输文件,就不要关闭SFTP子系统;如果你需要用SSH隧道,就不要关闭端口转发。


二、主动防御:fail2ban安装与配置,自动拉黑暴力破解IP

前面的10个步骤是静态防护,而fail2ban是主动防御工具。它会实时监控SSH的登录日志,当某个IP在指定时间内登录失败超过你设置的次数,就会自动把这个IP加入防火墙黑名单,封禁指定时长,彻底杜绝自动化暴力破解的持续攻击。

1. 安装fail2ban

# CentOS/RHEL 系列(需先安装epel源)yum install -y epel-releaseyum install -y fail2ban# Debian/Ubuntu 系列apt update && apt install -y fail2ban

2. 配置SSH防护规则

fail2ban官方推荐不要直接修改默认的.conf文件,而是创建.local文件覆盖配置,避免版本更新时丢失配置。

  1. 创建SSH防护配置文件
nano /etc/fail2ban/jail.local
  1. 添加以下配置内容,参数可根据你的需求调整:
[DEFAULT]# 封禁白名单,填写你的信任IP,避免自己被封禁(⚠️ 必须配置,否则极易误封自己)ignoreip = 127.0.0.1/8 ::1 10.0.0.0/8 192.168.0.0/16 你的信任IP# 封禁时长,单位秒,86400=1天,永久封禁设置为-1bantime = 86400# 检测时间窗口,单位秒,600=10分钟findtime = 600# 检测窗口内,最大失败次数,超过就封禁maxretry = 5# 自动适配系统防火墙(通用兼容写法,避免依赖ipset导致失效)banaction = firewallcmd-rich-rules# 自动适配日志模式,兼容不同系统的日志存储方式backend = auto# SSH防护规则[sshd]# 启用规则enabled = true# 你的SSH端口,修改过默认端口必须在这里同步port = 22022# SSH日志路径,自动适配系统logpath = %(sshd_log)s# 过滤规则,使用默认的sshd规则filter = sshd
  1. 启动服务并设置开机自启
# 启动fail2bansystemctl start fail2ban# 设置开机自启systemctl enable fail2ban# 查看服务运行状态systemctl status fail2ban

3. 常用操作命令

# 查看SSH防护状态,包括已封禁的IP列表fail2ban-client status sshd# 手动解封某个IPfail2ban-client set sshd unbanip 要解封的IP# 手动封禁某个IPfail2ban-client set sshd banip 要封禁的IP# 重新加载配置文件fail2ban-client reload

⚠️ 坑点提示:如果你修改了SSH默认端口,一定要在jail.local的port参数中同步修改,否则fail2ban不会生效!同时务必把自己的办公IP加入ignoreip白名单,避免自己输错密码被封禁。


三、生产环境SSH安全最佳实践

前面的步骤已经能满足绝大多数个人和中小团队的需求,若是企业级生产环境,还需遵循以下最佳实践,构建层层防护的安全体系:

1. 不直接暴露SSH到公网,用堡垒机统一入口

生产环境的服务器,绝对不要直接把SSH端口暴露在公网,应仅允许堡垒机/跳板机的IP访问SSH端口,所有运维人员必须先登录堡垒机,才能操作业务服务器。这样一来,SSH的攻击面就收敛到堡垒机一台机器,方便统一管控和审计。

2. 启用多因素认证(MFA),给SSH再加一道锁

哪怕你的私钥泄露了,多因素认证也能拦住黑客。可给SSH配置谷歌验证器(Google Authenticator),登录时除了持有私钥,还需输入手机上的动态验证码,双重防护,安全性拉满。

3. 最小权限原则,一人一账号,禁止共享账号

生产环境禁止共享root账号,每个运维人员都要有独立账号,根据工作内容分配最小sudo权限(比如仅允许某个账号重启nginx服务,不能执行其他高危命令)。同时开启SSH操作日志审计,做到所有操作可追溯、可定位。

4. 定期轮换密钥,及时更新OpenSSH版本

  • 密钥定期轮换:建议每3-6个月更换一次SSH密钥对,旧公钥及时从服务器删除;
  • 漏洞修复:OpenSSH经常会爆出安全漏洞(如CVE-2024-6387),需及时通过系统包管理器更新到最新版本,修复安全隐患。

5. 统一日志审计,异常行为实时告警

把所有服务器的SSH登录日志,统一收集到ELK、Graylog等日志平台,设置告警规则,比如非工作时间登录、陌生IP登录、sudo执行高危命令等场景实时触发告警,第一时间发现异常行为。


四、常见问题与踩坑指南

这里整理了新手操作时最容易遇到的问题和解决方案,帮你避坑:

Q1:修改了SSH配置后,连不上服务器了怎么办?

A:按以下步骤排查:

  1. 先确认你没有关闭当前已登录的SSH会话,用这个会话排查问题;
  2. 执行sshd -t,查看配置文件是否有语法错误,有则修复;
  3. 确认防火墙和云服务器安全组,已经放行你设置的SSH端口;
  4. 确认你没有先禁用密码登录,再配置密钥登录;
  5. 若仍无法解决,用备份文件恢复配置,重启SSH服务;
  6. 最坏情况,用云服务器的VNC/控制台带外登录,修复配置。

Q2:配置了密钥登录,还是要输入用户密码?

A:常见情况是权限问题,按以下步骤修复:

  1. 服务器上的.ssh目录权限必须为700:chmod 700 ~/.ssh
  2. authorized_keys
    文件权限必须为600:chmod 600 ~/.ssh/authorized_keys
  3. 确保目录和文件的所有者是登录用户,而非root:chown -R 你的用户名:你的用户组 ~/.ssh
  4. 检查SSH配置文件中PubkeyAuthentication yes是否已开启。

Q3:fail2ban启动成功,但不封禁IP?

A:常见原因和解决方案:

  1. 你修改了SSH端口,但没有在jail.local的port参数中同步修改;
  2. 日志路径配置错误,fail2ban找不到SSH日志;
  3. 你要封禁的IP在ignoreip白名单中;
  4. fail2ban-client status sshd查看日志匹配情况,确认过滤规则是否正确。

Q4:禁用root登录后,普通用户没法执行sudo命令?

A:确认你已给普通用户添加了sudo权限:

  • CentOS/RHEL系列:usermod -aG wheel 你的用户名
  • Debian/Ubuntu系列:usermod -aG sudo 你的用户名 若仍无法使用,编辑/etc/sudoers文件,确认wheel/sudo组的权限已开启,没有被注释。

如果你觉得本文对你有帮助,欢迎点赞、推荐、转发,关注我,后续会分享更多Linux入门干货!

文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 21:56:36 HTTP/2.0 GET : https://f.mffb.com.cn/a/492763.html
  2. 运行时间 : 0.291059s [ 吞吐率:3.44req/s ] 内存消耗:4,921.06kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ee9838af1fb097f4f544ab43768caa41
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001130s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001509s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.007006s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000713s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001635s ]
  6. SELECT * FROM `set` [ RunTime:0.002928s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001495s ]
  8. SELECT * FROM `article` WHERE `id` = 492763 LIMIT 1 [ RunTime:0.001429s ]
  9. UPDATE `article` SET `lasttime` = 1783086996 WHERE `id` = 492763 [ RunTime:0.017034s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.004752s ]
  11. SELECT * FROM `article` WHERE `id` < 492763 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001493s ]
  12. SELECT * FROM `article` WHERE `id` > 492763 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001214s ]
  13. SELECT * FROM `article` WHERE `id` < 492763 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.026143s ]
  14. SELECT * FROM `article` WHERE `id` < 492763 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.013988s ]
  15. SELECT * FROM `article` WHERE `id` < 492763 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.038808s ]
0.296624s