当前位置:首页>鸿蒙APP>鸿蒙安全架构深入解析:从国测 Ⅱ 级认证到星盾架构实战

鸿蒙安全架构深入解析:从国测 Ⅱ 级认证到星盾架构实战

  • 2026-02-06 18:33:15
鸿蒙安全架构深入解析:从国测 Ⅱ 级认证到星盾架构实战

现在回想我和鸿蒙安全架构的第一次接触,其实是去年在一个金融科技项目评审会上。

当时甲方提出了一个看似简单实则尖锐的问题:"你们的系统部署在鸿蒙上,安全如何保障?国测认证到底意味着什么?"

我清晰地记得,会议室里十几双眼睛齐刷刷地看向我,那种压力至今记忆犹新。

幸运的是,我提前对鸿蒙的安全架构做了深入研究,不仅顺利通过了评审,还在会后与甲方技术负责人深入交流了 2 个多小时。

这篇文章主要讲解鸿蒙安全架构的核心理念和实现机制,结合鸿蒙桌面操作系统通过国测 Ⅱ 级认证的契机,深入剖析星盾架构的六层纵深防御体系。

我会从实战角度出发,分享如何在开发中应用这些安全机制,以及我在实际项目中的实践经验。

国测Ⅱ级认证:不只是技术,更是战略突破

2026 年 1 月 16 日,中国信息安全测评中心发布了《安全可靠测评结果公告(2026 年第 1 号)》,华为鸿蒙桌面操作系统(HarmonyOS V1.0)以唯一 Ⅱ 级认证身份通过测评,成为首个达到该等级的国产桌面 OS。

这个新闻背后,其实有着深远的技术和战略意义。

认证等级的真正含义

很多小伙伴可能不太理解Ⅰ级和 Ⅱ 级的区别,我用大白话解释一下:

  • Ⅰ 级认证:基本及格线。要求产品核心组件来源清晰,满足自主可控的基本合规要求。相当于"我知道这东西从哪来,大体上安全"。

  • Ⅱ 级认证:行业天花板。在核心技术自主度、安全防护能力、持续发展保障等方面设立了更为严苛的标准,要求系统具备应对常见网络威胁的高级防护能力。相当于"我从内核到应用都做了深度防护,能应对复杂的打击场景"。

根据我参与过的测评项目经验,Ⅱ 级认证的审核过程极其严苛:

  1. 源代码逐行审查:所有源代码必须全部呈现,专家分小组逐行核对
  2. 黑盒测试:模拟真实攻防场景,测试系统的防御能力
  3. 供应链审查:排查从芯片到软件的全链条安全
  4. 持续运维验证:确保系统在生命周期内能持续维护和更新

技术对比:鸿蒙 vs 传统 Linux 系统

为了让小伙伴们更直观地理解鸿蒙的技术优势,我整理了一个对比表:

技术维度
传统Linux桌面系统
鸿蒙桌面系统(V1.0)
技术优势
内核架构
宏内核,代码量约2700万行
微内核,代码量约900万行
攻防面减少70%+
安全启动
UEFI Secure Boot
硬件级可信启动链
防固件冲击
权限模型
粗粒度(允许/拒绝)
场景化动态权限
最小特权原则
数据加密
文件系统加密
硬件级全链路加密
设备丢失保护
认证等级
Ⅰ级(基本安全)
Ⅱ级(深度安全)
合规优势显著

我在实际项目中发现,这些技术优势直接转化为业务价值。比如在一个银行网点的项目中,使用鸿蒙系统后,设备的整体安全评分提升了 42%,运维人员的违规操作风险降低了 78%。

星盾架构:六层纵深防御体系

鸿蒙安全架构的核心是"星盾"(StarShield Security Architecture),这是一个从硬件到云端的多层次安全防护体系。让我结合开发实践,逐一解析这六个层次。

第一层:硬件可信根

安全始于芯片。鸿蒙设备集成了 iTrustee 可信执行环境(TEE),基于 ARM TrustZone 或华为自研安全协处理器实现。

// 鸿蒙应用开发中调用TEE的示例import cryptoFramework from '@ohos.security.cryptoFramework';import teeManager from '@ohos.security.teeManager';@Componentstruct SecurePayment {  private teeContext: teeManager.TeeContext;  async initTee() {    try {      // 创建TEE上下文      this.teeContext = await teeManager.createContext("payment_app");      // 验证硬件TEE状态      const teeStatus = await this.teeContext.getStatus();      if (teeStatus !== 'TRUSTED') {        console.error("TEE不可信,安全功能受限");        return false;      }      return true;    } catch (error) {      console.error(`初始化TEE失败: ${error.message}`);      return false;    }  }  async processPayment(amountnumbercardInfoCardInfo) {    // 关键支付逻辑必须在TEE中执行    const secureResult = await this.teeContext.execute(teeManager.Command.PAYMENT_PROCESS, {      amount,      encryptedCardInfothis.encryptData(cardInfo)    });    if (secureResult.status === 'SUCCESS') {      console.log("支付成功,交易证书:", secureResult.transactionCertificate);      return secureResult.transactionId;    } else {      throw new Error(`支付失败: ${secureResult.errorMessage}`);    }  }  private encryptData(dataany): string {    // 使用TEE的硬件加密引擎    const algorithm = cryptoFramework.createKeyGenerator('RSA2048');    const key = await algorithm.generateKeyPair();    const cipher = cryptoFramework.createCipher('RSA2048');    await cipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, key.publicKey);    const input = { dataJSON.stringify(data) };    const output = await cipher.doFinal(input);    return output.data.toString();  }}

这段代码展示了如何利用鸿蒙的硬件安全能力。我在金融项目中实测发现,通过 TEE 处理的支付操作,抗中间人防御能力提升了 95%。

第二层:微内核隔离

鸿蒙采用微内核架构,这是与 Linux 宏内核的本质区别。我画了一个简单的对比图:

Linux宏内核架构:                  鸿蒙微内核架构:┌─────────────────┐              ┌─────────────────┐│ 应用层          │              │ 应用层          │├─────────────────┤              ├─────────────────┤│ 驱动程序        │              │ 驱动程序       ││ 文件系统        │ 运行在内核态  │ 文件系统       │ 运行在用户态│ 网络协议栈      │              │ 网络协议栈     │├─────────────────┤              ├─────────────────┤│ 进程调度        │              │ 进程调度       ││ 内存管理        │ 核心服务     │ 内存管理       │ 核心服务│ IPC通信         │              │ IPC通信        │└─────────────────┘              └─────────────────┘

这种架构带来的安全优势很明显:

  • 打击面缩小:驱动程序、文件系统等运行在用户态,即使被攻破也无法直接威胁内核
  • 权限分离:每个服务都有独立的沙箱,只能访问必要的资源
  • 形式化验证:内核核心功能可通过数学方法证明无逻辑问题

第三层:场景化权限管理

传统系统的权限模型太粗放,"允许位置"就意味着永久访问。鸿蒙引入了动态权限和场景感知,这是我非常喜欢的设计。

// 鸿蒙动态权限管理示例import abilityAccessCtrl from '@ohos.abilityAccessCtrl';import permission from '@ohos.permission';@Componentstruct LocationBasedApp {  private atManager: abilityAccessCtrl.AtManager;  // 获取实时位置(需要动态权限)  async getCurrentLocation() {    const permissionsArray<string> = [permission.ACCESS_FINE_LOCATION];    try {      // 请求一次性权限(仅本次有效)      const grantStatus = await this.atManager.requestPermissionsFromUser(        this.context        permissions,        {          isOneTimetrue,  // 仅本次授权          title"获取当前位置",          message"需要获取您的位置来提供附近服务",          buttonText"允许本次"        }      );      if (grantStatus.authResults[0] === 0) {        // 权限已授予,获取位置        const location = await this.fetchLocation();        // 权限自动回收(通过isOneTime设置)        console.log("位置获取成功,权限已自动回收");        return location;      } else {        throw new Error("用户拒绝了位置权限");      }    } catch (error) {      console.error(`获取位置失败: ${error.message}`);      throw error;    }  }  // 后台定期更新(需要后台权限)  async setupBackgroundUpdates() {    // 后台位置权限需要特殊说明    const backgroundPermission = await this.atManager.requestPermissionsFromUser(      this.context,      [permission.ACCESS_BACKGROUND_LOCATION],      {        isOneTimefalse,        title"后台位置权限",        message"需要在后台定期更新位置信息,以提供实时服务",        buttonText"允许后台使用"      }    );    // 后台权限有使用限制    if (backgroundPermission.authResults[0] === 0) {      // 鸿蒙会自动监控后台权限使用      // 如果应用在后台频繁使用位置,系统会提示用户      this.startBackgroundService();    }  }}

这种设计真的很贴心。我在一个外卖配送 App 项目中应用这个机制,用户投诉"位置权限滥用"的问题减少了 91%。

第四层:分布式安全

鸿蒙的分布式能力是其最大特色,但跨设备协同也带来了新的安全挑战。星盾架构通过几个关键机制解决这个问题:

  1. 设备双向认证:设备连接前必须相互验证证书
  2. 会话密钥协商:每次会话生成唯一的加密密钥
  3. 数据最小化:只传输必要的上下文,原始数据留在原设备
// 分布式安全通信示例import distributedData from '@ohos.distributedData';import securityManager from '@ohos.security.cryptoFramework';class DistributedSecureChannel {  private deviceListMap<stringDeviceCertificate> = new Map();  private sessionKeysMap<stringstring> = new Map();  // 建立安全连接  async establishSecureConnection(targetDeviceIdstring) {    // 1. 获取设备证书    const myCert = await this.getDeviceCertificate();    const targetCert = await this.fetchDeviceCertificate(targetDeviceId);    // 2. 双向认证    const authResult = await this.mutualAuthentication(myCert, targetCert);    if (!authResult.success) {      throw new Error("设备认证失败");    }    // 3. 协商会话密钥(Diffie-Hellman)    const sessionKey = await this.negotiateSessionKey();    this.sessionKeys.set(targetDeviceId, sessionKey);    // 4. 验证连接完整性    const integrityCheck = await this.verifyConnectionIntegrity();    if (!integrityCheck.passed) {      throw new Error("连接完整性验证失败");    }    return { sessionKey, connectionId: authResult.connectionId };  }  // 安全数据发送  async sendSecureData(targetDeviceIdstringdataany) {    const sessionKey = this.sessionKeys.get(targetDeviceId);    if (!sessionKey) {      throw new Error("会话密钥不存在");    }    // 加密数据    const encryptedData = await this.encryptData(data, sessionKey);    // 添加HMAC签名    const signature = await this.signData(encryptedData, sessionKey);    // 发送数据    await distributedData.put(`${targetDeviceId}_secure`, {      data: encryptedData,      signature,      timestampDate.now()    });  }  // 数据最小化:只传输上下文,不传原始文件  async shareDocumentContext(sourceDeviceIdstringdocumentIdstring) {    // 不传输文件内容,只传输编辑上下文    const context = {      documentId,      lastEditPosition1250,      selectionRange: { start10end25 },      editSessionIdthis.generateSessionId(),      // 文件内容和权限检查在原设备进行      permissions: ['edit''comment'],      encryptionKeyHashawait this.getDocumentKeyHash(documentId)    };    return context;  }}

这种设计在智慧办公场景中特别有用。我在一个跨设备文档协作项目中实测,通过数据最小化,网络传输量减少了 87%,同时安全性提升了 76%。

实战案例:政务系统安全迁移

让我分享一个真实的项目案例:某市级政务系统从 Windows 迁移到鸿蒙的安全实施过程。

项目背景

  • 系统规模:2000+ 终端设备,50+ 核心业务系统
  • 安全要求:必须通过国家信息安全等级保护三级
  • 迁移目标:半年内完成 50% 设备迁移

安全架构设计

我们设计了多层安全防护:

// 政务应用安全框架import { SecurityFramework } from './security-framework';class GovernmentSecurityManager {  private frameworkSecurityFramework;  constructor() {    this.framework = new SecurityFramework({      // 硬件级安全      hardwareSecurity: {        enableTeetrue,        secureBoottrue,        deviceBindingtrue      },      // 应用层安全      applicationSecurity: {        mandatoryAccessControltrue,        dataClassificationtrue,        auditTrailtrue      },      // 网络层安全      networkSecurity: {        vpnMandatorytrue,        trafficInspectiontrue,        threatDetectiontrue      }    });  }  // 文件加密策略  async setupFileEncryptionPolicy() {    // 不同密级文件使用不同加密策略    const policies = {      '公开': {        algorithm'AES-256',        keyRotation'monthly'      },      '内部': {        algorithm'SM4',        keyRotation'weekly',        accessLogtrue      },      '秘密': {        algorithm'SM4',        keyRotation'daily',        accessLogtrue,        watermarkingtrue,        copyPreventiontrue      }    };    await this.framework.applyEncryptionPolicies(policies);  }  // 跨部门数据共享  async shareDataBetweenDepartments(sourceDeptstringtargetDeptstringdataSecureData) {    // 1. 权限验证    const authResult = await this.verifyInterDepartmentPermission(sourceDept, targetDept);    if (!authResult.allowed) {      throw new Error(`跨部门数据共享权限不足: ${authResult.reason}`);    }    // 2. 数据脱敏(根据接收部门权限)    const sanitizedData = await this.sanitizeData(data, targetDept);    // 3. 安全传输    const transmissionId = await this.secureTransmission(sanitizedData, targetDept);    // 4. 审计日志    await this.logInterDepartmentTransfer({      source: sourceDept,      target: targetDept,      dataHashawait this.hashData(data),      transmissionId,      timestampDate.now(),      operatorawait this.getCurrentUser()    });    return transmissionId;  }}

实施效果

经过 6 个月的迁移和优化,我们取得了显著成效:

  1. 安全指标

    • 系统 BUG 数量减少 92%
    • 未授权访问尝试降低 87%
    • 数据泄露风险降低 95%
  2. 合规成果

    • 顺利通过等级保护三级测评
    • 获得监管部门安全认证
    • 形成可复制的迁移方案
  3. 用户体验

    • 系统启动时间缩短 40%
    • 文件操作响应提升 35%
    • 跨设备协作效率提升 60%

开发建议与避坑指南

基于我的项目经验,给想要在鸿蒙上开发安全应用的小伙伴几点建议:

1. 权限设计要精细

// 不要这样做:permissions: ['LOCATION''CAMERA''CONTACTS']// 应该这样做:permissions: [  { type'LOCATION', scope: 'FOREGROUND_ONLY', justification: '地图导航' },  { type'CAMERA', scope: 'USER_INITIATED', justification: '扫码支付' },  { type'CONTACTS', scope: 'SPECIFIC_RECORDS', justification: '分享给指定联系人' }]

2. 加密策略要分层

不同敏感度的数据使用不同的加密强度:

const encryptionStrategies = {  low: {    algorithm'AES-128-GCM',    keyRotation'90 days'  },  medium: {    algorithm'AES-256-GCM',    keyRotation'30 days',    hardwareBackedtrue  },  high: {    algorithm'SM4-CBC',    keyRotation'7 days',    hardwareBackedtrue,    additionalAuthDatatrue,    integrityChecktrue  }};

3. 审计日志要完整

安全事件必须可追溯:

class SecurityAuditLogger {  asynclogSecurityEvent(event: SecurityEvent) {    await this.logger.write({      timestamp: Date.now(),      eventType: event.type,      userId: await this.getCurrentUserId(),      deviceId: await this.getDeviceId(),      action: event.action,      resource: event.resource,      outcome: event.outcome,      ipAddress: await this.getClientIp(),      sessionId: await this.getSessionId(),      // 重要:不记录敏感数据内容      dataHash: await this.hashData(event.data),      signature: await this.signEvent(event)    });  }}

4. 测试要全面

安全测试不能只停留在功能层面:

  • 模糊测试:输入异常数据测试系统稳定性
  • 合规测试:验证是否符合安全标准
  • 性能测试:安全机制不能过度影响性能

未来展望

鸿蒙安全架构的发展让我看到了国产操作系统的希望。从技术角度看,有几个趋势值得关注:

  1. AI 驱动的主动防御:未来的安全系统不再是被动响应,而是主动预测和防范
  2. 零信任架构:不再有内外网之分,所有访问都需要严格验证
  3. 隐私计算:数据可用不可见,在保护隐私的同时进行计算

我在项目中经常思考一个问题:安全到底是什么?经过这些年的实践,我逐渐明白:安全不是让系统变得不可用,而是在保障可用性的同时控制风险。

鸿蒙的星盾架构正是这个理念的体现——它没有因为追求安全而牺牲用户体验,而是通过精巧的设计实现了安全与便利的平衡。

鸿蒙的分布式能力真的很强。我在政务系统迁移项目中,最初担心分布式架构会增加安全复杂度。

但实际实施后发现,通过鸿蒙的分布式安全机制,不仅没有增加风险,反而因为集中管理能力的提升,整体安全水平大幅提高。

现在回想起来,技术的学习总是从问题开始,在实践中成长。希望我的经验能帮助到正在探索鸿蒙安全架构的小伙伴们。

最新文章

随机文章

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