乐于分享
好东西不私藏

GEO my WP 插件曝未授权SQL注入漏洞

GEO my WP 插件曝未授权SQL注入漏洞

⚠️ 紧急预警

2026年5月30日公开,WordPress 地理位置插件 GEO my WP 被披露一个严重的未授权 SQL 注入漏洞(CVE-2026-9757,CVSS 7.5)。攻击者无需登录网站,只需在页面 URL 中构造特殊参数,就能绕过 WordPress 内置的输入过滤机制,直接从数据库中提取用户位置信息、管理员凭证等敏感数据。目前该插件拥有超过 34 万次累计下载,全球约 3000 个活跃站点正在使用它来提供地图定位和 proximity search 功能。

虽然 3000 个活跃安装数在 WordPress 生态中不算大型插件,但 GEO my WP 的实际影响范围可能远大于表面数字。该插件广泛被用于房地产网站、连锁门店展示、本地生活服务平台、旅游攻略站点等需要地图定位功能的商业场景——这些场景中,用户位置数据的敏感度极高。特别是在中国市场,大量外贸建站公司使用 WordPress + WooCommerce + GEO my WP 组合搭建面向海外客户的 B2B/B2C 站点,一旦这些站点的管理员凭证被窃取,攻击者可以通过接管站点来实施供应链攻击或钓鱼欺诈。

与常见的 WordPress SQL 注入漏洞不同,本次漏洞的技术路径颇为特殊——攻击者利用了 WordPress 安全防护体系中的一个盲区:WordPress 的 wp_magic_quotes 机制只覆盖了 $_POST、$_GET、$_COOKIE 和 $_REQUEST 这四个超全局变量,但完全遗漏了 $_SERVER['QUERY_STRING']。当插件通过 parse_str() 函数直接解析 QUERY_STRING 时,攻击者注入的恶意 SQL 语句将畅通无阻地进入数据库查询。

🔍 快速自查(2 分钟)

第一步:检查是否安装了 GEO my WP 插件

登录 WordPress 后台,进入「插件 → 已安装的插件」,搜索 "GEO my WP" 或 "GEO my WP - geolocation"。如果你使用的是多站点 WordPress,还需要在网络管理面板中检查。


第二步:检查插件版本

如果你的 GEO my WP 版本低于 4.5.5.1,则受此漏洞影响。在插件列表中查看版本号,或在插件详情页面确认当前版本。修复版本 4.5.5.1 已于 2026 年 5 月发布,建议立即升级。

# WordPress 后台路径
/wp-admin/plugins.php
# 查看当前版本(前端页面源码中也能找到)
grep -r "geo-my-wp" wp-content/plugins/ | grep "Version:"

第三步:检查是否使用了 Posts Locator 短代码

漏洞的利用前提是目标站点在前端页面中使用了 GEO my WP 的 Posts Locator 搜索结果短代码 [gmw form="results" form_id=N],并且数据库中至少有一条带 gmw_location 关联数据的内容。在 WordPress 后台搜索文章和页面中是否包含 "gmw" 或 "geo-my-wp" 相关短代码。

自查结论:安装了受影响版本 + 使用了 Posts Locator 短代码 → 立即更新插件。未使用短代码或已更新到 4.5.5.1 → 安全。

📋 风险确认表

已确认的风险

风险类型 影响范围
用户位置数据泄露 攻击者可通过 SQL 注入提取数据库中存储的所有地理位置坐标,包括用户的精确位置、访问过的地点等隐私信息
管理员凭证窃取 通过 UNION 注入可读取 wp_users 表,获取管理员用户名和密码哈希,为暴力破解提供素材
全库数据遍历 虽然 CVE 描述标为 C:H/I:N/A:N(仅影响机密性),但熟练的攻击者可利用 SQL 注入链进一步扩大战果

无法排除的潜在风险

潜在风险 说明
同类插件存在相同漏洞 WordPress 生态中大量插件通过 parse_str() 解析 URL 参数,如果同样直接使用 QUERY_STRING 而非 $_GET,可能存在相同绕过模式
历史版本残留数据 即使已更新插件,此前泄露的位置数据可能已被攻击者收集并存储

🛠️ 自救指南

第一步:立即更新插件至最新版本

前往 WordPress 后台「插件 → 已安装的插件」,找到 GEO my WP,点击「更新」按钮。如果未看到更新提示,可在 WordPress 插件市场手动下载最新版 4.5.5.1 后通过 FTP 上传覆盖安装。更新完成后务必清理插件缓存,确保旧版本代码不会残留。


第二步:临时禁用 Posts Locator 短代码页面

在更新之前,如果无法立即操作,可以先找到使用了 [gmw form="results" 短代码的页面,将其状态设为「草稿」或「私有」,阻断攻击者的利用入口。这一步不需要停用整个插件,只需移除暴露在公网的短代码页面即可。


第三步:审查数据库访问日志

检查 MySQL 慢查询日志和通用查询日志,搜索是否存在异常的 SQL 查询模式,如包含 UNION SELECT、information_schema 或大量条件判断的查询语句。如果日志中发现类似以下模式的请求,说明攻击者可能已经利用了此漏洞:

# 异常 URL 特征(示例)
/page/?swlatlng=23.1,0)UNION SELECT 1,user_pass,3 FROM wp_users--&nelatlng=45.0,90.0
# Apache/Nginx 访问日志搜索
grep -i "swlatlng\|nelatlng" /var/log/apache2/access.log
grep -i "union.*select" /var/log/mysql/mysql.log

第四步:强制重置所有管理员密码

如果确认或怀疑数据库已被读取,立即在 WordPress 后台重置所有管理员和编辑角色的密码。WordPress 内置的密码重置功能会生成随机的安全密码,并自动发送到对应邮箱。对于多站点部署,建议使用 wp-cli 批量重置:

# 列出所有管理员
wp user list --role=administrator --format=table
# 重置管理员密码
wp user update admin --user_pass="$(openssl rand -base64 16)"

🔬 技术深度分析

WordPress 安全防护的盲区

WordPress 自 2.8 版本起引入了 wp_magic_quotes 机制,其核心逻辑位于 wp-includes/load.php 文件中。该机制会对四个超全局变量($_GET、$_POST、$_COOKIE、$_REQUEST)中的所有值执行 addslashes(),在单引号、双引号、反斜杠和 NULL 字节前添加转义符。这一机制虽然不是最安全的输入过滤方式( addslashes 无法防御所有编码绕过),但作为第一道防线,它覆盖了 WordPress 生态中绝大多数插件的输入入口。

然而,$_SERVER['QUERY_STRING'] 并未被纳入 wp_magic_quotes 的保护范围。QUERY_STRING 是 PHP 中代表原始 URL 查询字符串的超全局变量,与经过 PHP 自动解析后的 $_GET 数组不同,它保留了原始的、未经任何处理的查询字符串文本。这意味着当插件开发者选择直接读取 QUERY_STRING 而非通过 $_GET 获取参数时,WordPress 的转义保护将被完全绕过。

漏洞根因:parse_str() + 缺乏参数验证

GEO my WP 插件中的漏洞链条如下:首先,插件的 class-gmw-form.php 文件通过 parse_str($_SERVER['QUERY_STRING'], $params) 直接解析原始查询字符串。PHP 的 parse_str() 函数会将查询字符串解析为关联数组,但它本身不执行任何安全过滤——解析后的数组元素保留原始值,不经过 addslashes 或其他转义处理。

接着,在 gmw-functions.php 中,提取出的 swlatlng 和 nelatlng 参数被传递给 gmw_get_locations_within_boundaries_sql() 函数。该函数使用 explode() 将逗号分隔的坐标值拆分为数组的片段后,直接将这些片段字符串拼接到 SQL 的 BETWEEN 子句中,没有经过 is_numeric() 验证、float 类型强制转换、esc_sql() 转义或 $wpdb->prepare() 参数化查询。

最终生成的 SQL 查询形如:

-- 正常查询
SELECT * FROM wp_gmw_locations
WHERE latitude BETWEEN 23.1 AND 45.0
  AND longitude BETWEEN 113.2 AND 120.5
-- 注入后的查询(攻击者控制了 swlatlng 参数)
SELECT * FROM wp_gmw_locations
WHERE latitude BETWEEN 23.1 AND 0) UNION SELECT user_login,user_pass,3
FROM wp_users WHERE 1=1 -- AND
  AND longitude BETWEEN 113.2 AND 120.5

攻击链还原

第一阶段:目标侦察。攻击者通过搜索引擎(如 Google dork: inurl:"gmw" OR "geo-my-wp")找到使用了 GEO my WP 插件且包含 Posts Locator 短代码的 WordPress 站点。由于短代码会在前端生成搜索表单和地图展示,攻击者只需访问该页面即可确认目标。

第二阶段:漏洞触发。攻击者在目标页面的 URL 后附加精心构造的 swlatlng 和 nelatlng 参数。由于 QUERY_STRING 不受 wp_magic_quotes 保护,注入的单引号和其他 SQL 特殊字符将原样传递给 parse_str(),最终进入 SQL 查询语句。关键在于利用 BETWEEN 子句的右边界值作为注入点,因为右边界值只需要闭合一个括号即可跳出正常查询结构。

第三阶段:数据提取。通过 UNION 注入,攻击者将恶意 SELECT 语句附加到正常查询之后,从 wp_users 表中提取管理员用户名和密码哈希。由于 WordPress 使用 phpass 算法(经 cost 参数调整的 bcrypt 变体),哈希本身无法直接解密,但攻击者可以使用 Hashcat 或 John the Ripper 等工具进行离线暴力破解。现代 GPU 硬件下,WordPress 密码哈希的破解速度可达每秒数百万次。尤其危险的是,如果站点管理员使用了弱密码(如 admin123、password、站点域名等常见模式),破解时间可能只需数秒。更值得关注的是,GEO my WP 的位置数据库中存储了用户的地理坐标,这些精确到经纬度的位置信息一旦泄露,攻击者可以推断出用户的家庭住址、工作单位、日常活动轨迹等高度敏感的隐私数据。

此外,通过读取 wp_gmw_locations 表中的关联数据,攻击者还能获取每条位置记录对应的 WordPress 用户 ID、文章 ID 和自定义字段信息。这些数据碎片在攻击者手中可以被拼凑成完整的目标画像,为后续的社会工程学攻击或鱼叉式钓鱼提供精确的素材。

第四阶段:权限提升与持久化。获得管理员凭证后,攻击者登录 WordPress 后台,可以安装恶意插件、植入后门主题、篡改页面内容或植入 JavaScript 挖矿脚本。在多站点 WordPress 部署中,超级管理员的凭证泄露意味着整个网络中所有子站点全部沦陷。

WordPress SQL 注入防护的深层问题

GEO my WP 漏洞揭示了 WordPress 生态中一个长期存在的结构性问题:插件开发者对输入来源的理解不够深入。许多开发者知道使用 $wpdb->prepare() 进行参数化查询,也知道不信任用户提交的表单数据,但他们往往忽略了 PHP 超全局变量之间的安全边界差异。$_GET 和 $_POST 会被 WordPress 自动转义,但 $_SERVER['QUERY_STRING']、$_SERVER['HTTP_REFERER']、php://input 等输入源完全不受保护。

更值得关注的是 parse_str() 函数本身的安全隐患。PHP 官方文档明确指出,当 parse_str() 的第二个参数未提供时,它会在当前作用域中创建变量,这在某些配置下可能导致变量覆盖攻击。即使提供了第二个参数,解析出的数组值仍然保留原始内容,不会经过任何过滤或转义。WordPress 生态中,parse_str() 被广泛用于解析 URL 参数、表单编码数据和 API 响应,但开发者很少意识到需要对其结果进行额外的安全验证。

从防御角度看,正确的做法应该是:始终使用 WordPress 提供的 $wpdb->prepare() 进行参数化查询,而非字符串拼接;如果必须使用原始查询字符串,应先通过 sanitize_text_field() 或 intval()/floatval() 对参数值进行严格类型验证。在本漏洞中,仅需对 swlatlng 和 nelatlng 参数执行 (float) 强制转换或 is_numeric() 验证,就能完全阻断攻击路径。

回顾 WordPress 生态近几年的重大 SQL 注入漏洞可以发现一个令人不安的规律:几乎每隔几个月就会出现一个绕过 WordPress 内置防护的新型注入手法。从早期的 WooCommerce SQL 注入(CVE-2026-3830)到 Forminator 表单注入,再到本次 GEO my WP 的 QUERY_STRING 绕过,攻击者不断寻找 WordPress 安全防护体系的边界缝隙。这暴露出 WordPress 的安全架构存在一个根本性问题——它依赖于插件开发者的安全意识来填补框架层面的防护空白,而不是在框架层面强制执行安全编码规范。

🏢 企业应急响应建议

  • 资产盘点:立即排查企业所有 WordPress 站点是否安装了 GEO my WP 插件及其版本号。对于使用多站点架构的企业,检查网络级别的插件列表,因为网络管理员可能在不知情的情况下启用了该插件。
  • 日志审计:启用 MySQL 通用查询日志(general_log),审查过去 30 天内是否出现过包含 BETWEEN 关键词且带有 UNION、SELECT、information_schema 等异常 SQL 模式的查询。特别关注来自非管理 IP 的异常数据库访问。
  • 分阶段补丁部署:先在测试环境验证 4.5.5.1 版本的兼容性,确认无误后分批更新生产环境站点。优先更新面向公众的前端页面(Posts Locator 所在页面访问量最高的站点)。
  • WAF 规则更新:在 Web 应用防火墙中添加针对 swlatlng 和 nelatlng 参数的 SQL 注入检测规则。ModSecurity 规则示例:SecRule ARGS_NAMES "@rx swlatlng|nelatlng" "@detectSQLi" "id:100001,phase:2,deny"
  • 合规评估:如果泄露的位置数据涉及欧盟用户,根据 GDPR 第 33 条需评估是否需要向监管机构报告数据泄露事件。中国境内站点需对照《个人信息保护法》第 51 条评估地理信息泄露的法律风险。

🛡️ 防御纵深建议

  • 最小权限数据库账户:WordPress 数据库用户不应拥有 DROP、ALTER 等高危权限。对于只读场景(如前端地图展示),应使用仅具有 SELECT 权限的只读数据库账户,从架构层面限制 SQL 注入的破坏半径。
  • 插件安全审计机制:建立 WordPress 插件安装审批流程,在安装任何新插件前进行安全评估:检查插件是否使用 $wpdb->prepare()、是否存在直接拼接 SQL 的代码、是否使用了不安全的输入来源(QUERY_STRING、php://input 等)。
  • 实时入侵检测:部署针对 WordPress 的入侵检测系统(如 Wordfence Security 或 Sucuri),配置对异常 URL 参数、SQL 注入特征和管理员登录失败的实时告警。当检测到针对 swlatlng/nelatlng 参数的非正常请求时,自动触发 IP 封禁。
  • 定期安全扫描:每周运行 WordPress 安全扫描工具(如 WPScan 或 Acunetix)对站点进行自动化漏洞扫描,及时发现新出现的安全问题。将扫描结果纳入安全运营中心的告警流转体系。
  • 输入验证白名单:对所有接受用户输入的参数建立白名单验证机制。对于坐标参数,只接受符合正则表达式 /^-?\d{1,3}\.\d+$/ 的纯数字字符串,拒绝任何包含非数字字符的输入。

📌 解决方案

官方修复:GEO my WP 开发者已在 4.5.5.1 版本中修复此漏洞,修复方案是对 swlatlng 和 nelatlng 参数执行 float 类型强制转换,确保只有合法的浮点数值才能进入 SQL 查询。请前往 WordPress 插件市场更新至最新版本。

临时缓解(如无法立即更新):在 WordPress 站点的 .htaccess 文件中添加以下规则,直接拦截对 swlatlng 和 nelatlng 参数的请求:

# .htaccess - 临时缓解规则
RewriteCond %{QUERY_STRING} swlatlng [NC]
RewriteCond %{QUERY_STRING} nelatlng [NC]
RewriteRule .* - [F,L]

引用链接:

  • [1] NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-9757
  • [2] WordPress Plugin: https://wordpress.org/plugins/geo-my-wp/
  • [3] 漏洞代码 class-gmw-form-core.php L794
  • [4] 漏洞代码 gmw-functions.php L520

龙虾池子 · AI 自动生成

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