1. 一份被忽略的配置文件为什么能撬开一台电脑远程控制类工具出问题大多数时候不是被谁攻破了而是自己把钥匙递了出去。这次要聊的主角是config.ini——一个几乎所有桌面软件都会生成的配置文件很多人从来没打开看过它甚至不知道自己电脑上存在这个文件。它通常躺在安装目录或者用户配置目录里几十行文本看起来人畜无害但里面可能写着设备标识、连接记录、授权状态、临时密码策略某些版本里还留着可以直接复用的凭据信息。我之所以专门拿 ToDesk 这类远程控制工具来举例是因为它的风险模型和普通软件完全不同。普通软件配置泄露最多丢掉一点个性化设置远程控制工具的配置泄露等价于把家门钥匙连同门牌号一起发到了群里。攻击者不需要会写代码不需要扫端口甚至不需要和你处在同一个网络只要拿到那个文件再对上设备代码就有可能直接坐到你的桌面前面看你的屏幕、动你的鼠标、拷你的文件。这篇内容写给三类人看一是把远程控制工具当日常生产力、天天挂着无人值守的普通用户二是经常打包软件目录、做绿色版分发、给同事远程排障的技术支持人员三是需要给团队定终端安全规范的管理者。不需要你有安全背景我会把这个文件里有什么、为什么会流出去、怎么自查、怎么堵住这几件事从头讲清楚中间穿插我自己踩过的坑和实测记录。先说结论免得你带着疑问往下读配置文件本身不是漏洞把配置文件当普通文本随手复制、打包、上传、截图才是漏洞。真正需要修的是人的习惯和流程不是某个功能开关。2. 配置文件里到底装了什么值得这么紧张2.1 拆开看一个几十行的 ini 为什么这么敏感ini 格式本质就是键值对keyvalue一行一条没有加密没有签名用记事本就能改。这种设计的初衷是让程序读写配置足够简单、足够快出问题也好排查。但它天然不带任何防护任何人拿到文件就能看到全部内容也能改任何一个字段。一个典型的远程控制工具配置文件可能包含这几类信息身份类设备代码、设备 ID、绑定的账号标识、设备别名。设备代码相当于门牌号是连接的第一步。凭据类记住的密码、临时密码的开关与有效期、安全码、历史连接用的认证信息。这是最要命的一类。策略类是否允许无人值守、是否开机自启、是否允许文件传输、是否允许剪贴板同步、是否允许远程打印、是否允许被控端锁屏。行为类最近连接的设备列表、连接方式偏好、画面质量与传输参数、更新通道。环境类安装路径、日志路径、语言、分辨率适配参数。单项看都不算秘密但把它们拼在一起就是一份完整的入户说明书门牌号有了钥匙有了屋里有没有人无人值守开着就是没人、能不能搬东西文件传输开着就能搬也都知道了。安全领域有个说法叫信息聚合风险单条信息价值有限聚合起来就能形成完整攻击链配置文件就是典型的聚合点。2.2 明文、可逆、加密三种存储方式的差距在哪很多人有个误区觉得打开文件看到一串乱码那应该是加密了安全。这个判断不成立。存储在配置文件里的敏感字段大致分三档存储方式表现风险等级说明明文直接可读的字符串极高复制走就能用不依赖原机器可逆编码/可逆加密Base64 之类或固定密钥加密高换个环境解一下就能还原与本机绑定的加密密文 机器指纹派生密钥中换台机器通常还原不出来但仍要防本机被登录不落盘每次连接重新认证低体验略差安全性最好需要说清楚的是各家工具的版本迭代差异很大同一个产品不同版本可能从明文改成加密也可能反过来为了兼容性保留旧的读写逻辑。所以我这个版本应该是加密的这种推测没有意义唯一可靠的做法是打开自己机器上的文件看一眼看到什么就是什么。这也是我后面要带你做的第一件事。需要提醒一句这里讨论的是检查自己设备上自己的配置文件目的是评估自身暴露面。任何情况下都不要去读取、复制、解析他人设备上的配置文件那已经不是安全研究的范畴了。2.3 泄露不等于被黑真实世界里文件是怎么流出去的我复盘过不少类似事件真正被定向攻击的比例很低绝大多数是自己送出去的。按发生频率排一下打包分发。给同事或客户做一个免安装版直接把整个软件目录压缩发过去。安装目录里带着config.ini里面还留着自己的设备和凭据。接收方一运行配置直接被继承。云同步盘自动备份。把软件目录或者整个用户配置目录挂进了同步盘配置文件被自动上传链接一分享等于公开。系统镜像与备份。做系统备份、虚拟机快照、装机镜像时用户配置目录被完整打包。镜像在内部流转几轮里面的凭据一直有效。工单与排障材料。远程协助时截图截图角落正好是配置文件内容或者为了复现问题把配置文件作为附件贴进工单系统、聊天窗口。代码仓库误提交。开发同学把测试用的工具目录放进了项目里.gitignore没写一次提交就进了历史记录后面删掉文件也删不掉历史。共享目录与移动介质。公共盘、U 盘、临时共享文件夹谁都能读。残留副本。卸载重装、版本升级、多版本共存旧目录里的配置文件没人清理一直留着。第 1 条和第 7 条是最容易被忽略的。因为大家默认配置文件不算数据删软件的时候只删主程序配置目录原样留着打包的时候只想着把能跑的完整目录给对方不会想到里面还有自己的凭据。2.4 影响范围从一台机器扩散到一整片办公网单机风险好理解屏幕被看、文件被拷、账号被登。真正麻烦的是扩散。远程控制工具通常有控制端—被控端的双向能力一旦某台机器被控攻击者往往不会只停在那一台而是把它当成跳板从这台机器的通讯录、聊天记录、共享盘里找下一个目标或者干脆利用这台机器已登录的账号权限横向访问内部系统。还有一种被低估的场景同一份配置在多台设备上复用。团队为了省事把一套配置模板拷到十几台机器上设备代码不同但账号、凭据、策略完全一致。泄露一份等于泄露一片。这种复制粘贴式部署在中小企业里极其常见出了问题排查起来也最费劲因为你根本不知道源头是哪一台。3. 三分钟自查先搞清楚自己暴露到什么程度3.1 找到文件不同版本路径不固定用搜索最稳不要死记路径。远程控制工具的配置文件可能出现在这几个地方程序安装目录、%APPDATA%漫游配置、%LOCALAPPDATA%本地配置、%ProgramData%公共配置便携版还可能就在 exe 同级目录。最省事的做法是直接按文件名搜。Windows 上可以开 PowerShell 在自己的用户目录里搜Get-ChildItem -Path $env:USERPROFILE -Recurse -Filter config.ini -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime注意只搜自己的用户目录范围可控、速度快。如果确认程序装在别的盘把路径换成对应盘符再搜一次。搜出来的结果里重点看修改时间和文件大小刚刚被改过、或者文件明显偏大的说明里面存的连接记录多值得优先看。macOS 或 Linux 下同理用find ~ -name config.ini即可思路完全一样。提示搜索范围只限你自己的账户目录和你自己的设备。不要在共享盘、他人设备或者公司公共目录里做这类搜索容易引起误会。3.2 看一眼内容但先做一件事断网或退出登录打开之前先做一步保护动作把远程控制工具退出登录或者直接断网。原因很实际——有些工具在运行状态下会实时回写配置你刚看到的内容可能正在被覆盖更重要的是如果配置里确实有敏感凭据你打开文件的那一刻它就进了剪贴板历史、最近打开文档列表、甚至某些索引服务。用纯文本编辑器打开不要用 IDE不要开语法高亮插件避免它被索引。看完之后关掉别另存副本别截图别复制到聊天窗口里问人。要看的就三样有没有明文或明显可还原的凭据字段、无人值守和文件传输是不是开着、有没有一堆历史连接记录。这三样决定了你的风险等级。3.3 顺手查权限谁能读到这个文件配置文件的风险不只取决于内容还取决于谁能读。Windows 上直接看 ACLicacls C:\你的实际路径\config.ini理想结果是只有当前用户和SYSTEM、Administrators有权限Users组不应该出现。如果看到Everyone或者Users:(R)这类条目说明这台机器上任何登录账户都能读到它多用户环境比如共用电脑、实验室机器下风险直接翻倍。修法不复杂右键属性 → 安全 → 高级把继承关掉只保留必要的账户。改之前先记下原有权限改坏了还能还原。3.4 排查历史副本这才是真正容易被漏掉的一环刚装好的机器往往很干净麻烦都在历史里。按这几个方向翻一遍桌面、下载、文档目录里有没有叫XX绿色版XX免安装XX备份的压缩包解压看看里面是不是整包软件目录。云同步盘的回收站和最近删除里有没有软件目录被同步过。虚拟机快照、系统还原点、装机 U 盘里的镜像文件。代码仓库的历史提交里有没有误提交的工具目录。已经卸载的旧版本残留目录。这一步花的时间最多但价值也最高。我见过的情况是主程序早就升级到新版、配置也重新设过了但两年前那份发给同事的免安装包还挂在共享盘上里面那份配置照样能用。凭据的有效期不由文件的新旧决定只由它有没有被吊销决定。4. 加固让能连上变成只有我能连上4.1 认证层密码长度、临时密码和二次确认先算一笔账。密码强度不是玄学是可以估的。假设攻击者只能在线尝试每次连接都要走网络、有失败锁定或延迟每秒能试 10 次已经是相当乐观的估计密码构成空间大小在线爆破预期时间乐观估计8 位纯数字10^8约 116 天10 位纯数字10^10约 31 年8 位大小写数字约 2.8×10^14数量级上千年12 位大小写数字符号约 7×10^23实际上不可行这张表只说明一个道理纯数字的短密码在远程控制场景下是不够的。而且如果攻击者拿到的是可离线解析的凭据也就是配置文件泄露那条路在线限速这道防线根本不存在密码强度就是唯一屏障。所以我个人的基线是16 位以上、大小写数字符号混合、每台设备不重复、用密码管理器存。临时密码这块能不开就不开非开不可就设成一次性 短有效期用完立刻关闭。很多人图方便长期开着固定临时密码等于给自己留了一扇永远不锁的侧门。至于二次确认连接前弹窗确认体验上确实烦尤其是你从外面连回自己办公室机器的时候。我的做法是分场景家里和办公室的固定设备开启无人值守但配强密码 白名单临时给外部同事协助时一律走每次确认模式用完就关。别嫌麻烦被连一次的成本比点一百次确认高得多。4.2 网络层白名单比改端口有用得多改默认端口这种操作心理安慰大于实际效果。端口扫描几秒钟就能扫完全段改端口只是让自动化脚本多跑一轮。真正有效的是来源限制优先用工具自带的白名单功能只允许固定 IP 或固定网段发起连接。移动办公场景下 IP 会变可以退一步只允许特定地区的出口地址或者配合公司固定出口。能不暴露在公网就不暴露。同一内网里用内网地址直连跨网需求走公司统一的接入通道不要每台机器各自开一个公网入口。关闭不必要的附属能力。文件传输、剪贴板同步、远程打印、摄像头、语音这些默认开着的功能每一项都是额外的数据出口用不上就关掉。我自己只保留画面和键鼠文件传输按需临时打开。关闭开机自启 无人值守的组合除非这台机器确实需要 7×24 被访问。办公电脑长期挂着无人值守人不在工位时被连上谁也发现不了。4.3 权限层给远程控制单独开一个低权限账户这一条是很多个人用户完全没想过的不要用管理员账户被远程控制。正确做法是给远程访问单独建一个标准用户账户只给它必要的目录权限。这样即使连接被冒用攻击者拿到的也只是一个权限受限的会话装不了服务、改不了系统设置、动不了其他用户的数据。配置上的对应关系是这样的场景被控账户无人值守建议家里自用电脑标准用户可开强密码 白名单 关闭文件传输办公电脑标准用户建议关用时开启用完退出服务器/工控机专用运维账户开强密码 严格白名单 全量日志对外协助临时机临时账户关每次确认用完删账户另外被控端锁屏这个设置建议打开——连接建立后对方看到的是锁屏界面需要单独输入系统密码等于多加了一道门槛。代价是你自己连过去也要多输一次密码我觉得完全值得。4.4 文件层把配置文件当敏感数据处理回到本文的起点。内容层面管住了文件层面还得管权限最小化config.ini只给当前用户和系统账户读写去掉Users、Everyone。位置规范化不要放在桌面、共享盘、同步盘目录里。固定在用户配置目录下路径稳定、便于统一管控。禁止整包分发给别人做免安装包一定要先删配置文件、清日志、清历史记录再压包。做一个分发前检查清单每次照单执行别靠记性。加一道保险对存放配置文件的目录做一次加密或者访问审计至少保证有人读过你会有记录。卸载要彻底卸载软件时手动确认配置目录是否被清理没清理就手动删或者归档到受控位置。注意把配置文件加密、改权限这些操作前先备份一份到你自己控制的离线位置改动出错时能还原。改权限导致软件读不到配置、启动失败的案例并不少见。5. 出事了怎么判断怎么处置5.1 哪些迹象说明有人连过远程控制工具的日志通常不会主动推给你得自己看。值得警惕的信号有这几类连接记录里出现陌生设备代码或者出现你没印象的连接时间比如凌晨三点、你出差那几天。会话时长异常几秒钟的短连接反复出现多半是在试探。鼠标自己动、屏幕短暂闪烁、任务栏出现被控提示但你没在操作。系统层面新增了不认识的账户、多出计划任务、防火墙规则被改、杀软被关、浏览器里多出没装过的扩展。文件层面桌面或文档目录里出现陌生文件、压缩包回收站被清空某些文件修改时间对不上。单看一条可能是巧合比如系统更新导致鼠标指针重启、某个后台程序动了文件。但两三条同时出现就该认真查了。5.2 断、改、查、报四步走完再谈别的真怀疑被连了别急着研究对方是谁先把门关上。第一步断。拔网线或关 Wi-Fi退出远程控制工具的账号登录结束所有会话。这一步的目的是止损不是取证。很多人舍不得断网想看看他还在干什么结果对方趁机把该拷的都拷走了。第二步改。改密码但不要只改远程控制工具那一个。凡是和这台机器有关、和这个账号复用过密码的地方全部轮换一遍系统登录密码、邮箱、网盘、代码仓库、常用业务系统。改的时候注意顺序先改能通过这台机器重置其他密码的那个主邮箱再往外扩散。同时把远程控制工具里所有已授权的设备清空重新授权。第三步查。查启动项和计划任务、查本地账户列表、查最近的安装记录、查远程控制工具的完整日志、查浏览器保存的密码有没有被动过。这一步别在自己不确定的情况下乱删东西先记录、再处理把时间点和文件名都记下来。第四步报。如果是公司设备第一时间通知信息安全或 IT 负责人别自己扛着。如果是个人设备但涉及工作资料同样要上报。瞒着不说的代价通常比事件本身大得多。5.3 事后复盘把这次事故变成一条基线处置完不代表结束。真正有价值的是把这次暴露出来的路径固化成规则写进日常流程里。我自己的复盘清单长这样复盘项要回答的问题输出泄露路径文件是通过哪个渠道流出去的具体到哪次打包、哪个共享盘时间窗口从泄露到发现隔了多久评估这段时间内的影响范围凭据有效性期间凭据是否被使用过看日志判定必要时全量轮换管控缺口哪个环节本该拦住却没拦住补一条规则验证方式下次怎么提前发现加一条定期检查项这张表填完你会发现绝大多数的意外背后都是一个可以被规则拦住的动作。规则写下来、每次都执行比任何单次的技术加固都管用。6. 团队场景把个人习惯升级成可执行规范6.1 配置基线先定标准长什么样个人用户可以靠自觉团队不行必须有一个明确的基线否则每个人机器上的设置都不一样出了问题没法统一排查。基线至少要覆盖这几项密码策略长度下限、复杂度要求、轮换周期、禁止跨设备复用。连接策略无人值守默认关闭白名单必填文件传输默认关闭剪贴板同步默认关闭。账户策略被控端使用标准用户禁止用管理员账户长期挂载。文件策略配置文件权限限定、禁止放入同步盘和共享目录、卸载时强制清理。版本策略统一版本禁止长期使用旧版本升级前先在测试机验证。基线不需要写得特别厚一页纸能说清最好关键是能落地检查。我见过太多十八条安全管理制度实际没人看不如三条规定加上每月一次的实际抽查。6.2 交付与分发环节加一道出门检查远程控制软件的分发包、排障材料、复现附件是最主要的泄露出口。建议在交付前加一道固定动作做成清单贴在流程里删除配置文件及所有.ini、.log、缓存目录。清空历史连接记录与最近设备列表。确认没有登录态残留最好在干净账户下打包。压缩包设密码密码走另一条通道传递。交付后登记给了谁、什么时候、包含什么内容。到期回收或通知对方删除。第 5 条最容易被省但它决定了出事时你能不能快速圈定影响范围。没有交付记录就只能全量排查成本高一个量级。另外给团队做统一配置模板的时候记得模板里不放任何真实凭据只放策略项。凭据必须由每台设备自己生成或者通过受控的密钥管理流程下发。模板复用本身没问题复用凭据才是灾难。7. 常见问题速查现象/疑问可能原因处理建议配置文件里看到一长串看不懂的字符可能是可逆编码或加密字段视为敏感不复制不外传必要时改密码只有自己能登录还需要管配置文件吗需要泄露不依赖你的登录状态按 4.4 做权限与位置规范改了密码还是担心其他设备或旧版本仍持有旧凭据清空全部已授权设备重新授权免安装包发给同事后才发现带了配置打包前未清理立即通知对方删除轮换本机凭据配置文件删了软件起不来配置项被清空重装或恢复备份不要手工拼字段连接记录里出现陌生设备代码可能被尝试连接查日志、改密码、开白名单、报备无人值守开着但设了强密码风险降低但未消除加白名单非必要关闭无人值守多台机器用同一套配置凭据复用逐台重新生成禁止共用日志里全是短连接探测行为开白名单限制来源观察是否持续系统提示有其他账户登录可能被入侵断网、改密、查账户与启动项、上报最后分享一点我自己的体会。这些年处理过的终端安全事件里真正靠高超技术攻进来的比例很低绝大多数都是某个文件被顺手发出去了某个开关图省事一直开着某台机器三年前配好就没人再看一眼。配置文件只是其中一个典型代表换任何一个软件、任何一份日志、任何一张截图逻辑是一样的你以为是配置的东西在别人眼里可能是钥匙你以为是临时的方便在时间维度上会变成永久的缺口。所以我现在给自己定的规矩很简单凡是包含身份、凭据、连接关系的文件一律按密码的级别对待——不打包、不共享、不截图、不留在同步盘凡是图方便先开着的开关一律设一个到期时间到点必须重新决定一次要不要继续开。这两条执行下来能挡掉绝大多数本可以避免的麻烦。
企业数字化 ERP 产品动态
相关推荐
移动端商品页面一致性设计实践与优化 1. 商品页面一致性设计思路解析 在移动端应用开发中,商品添加/修改页面与详情页保持高度一致性是提升用户体验的关键设计策略。这种设计模式源于以下几个核心考量: 认知一致性原则 :用户在不同页面间切换时,相似的布局和交互模式… · 2026/11/4 13:05:47
VISSIM交通仿真数据分析与优化实战指南 1. 交通仿真结果分析的核心价值在智能交通系统规划和优化中,仿真结果分析就像给城市交通做了一次全面的"体检"。我们团队在过去五年处理了37个城市交通改善项目,发现90%的方案优化都依赖于准确的仿真数据分析。VISSIM作为行业标杆工具… · 2026/11/4 13:05:47
微信小程序校园二手交易平台技术架构解析 1. 项目背景与核心价值 校园二手交易一直是个高频刚需场景。每年毕业季,大量教材、电子产品、生活用品被低价转卖或直接丢弃;而新生入学时,又需要采购这些物品。传统的信息发布方式(如公告栏、QQ群)存在信息杂乱、沟通… · 2026/11/4 13:05:47
Java医院陪诊预约系统设计与实现 1. 项目概述与选题背景 医院陪诊服务作为医疗健康领域的重要补充,近年来需求呈现爆发式增长。根据卫健委2023年发布的《全国医疗服务需求调查报告》显示,65岁以上老年患者中,有42%在就诊过程中需要专业陪护协助。而现实中,患者与陪… · 2026/11/4 14:32:54
CSP-J初赛真题分析:从刷题到思维建模的能力跃迁指南 简介:本资源是2024年信息学奥赛CSP-J入门组初赛真题的权威详解文档,专为备战CSP-J的中学生、少儿编程学习者及指导教师设计,系统解决初赛知识点覆盖广、逻辑要求高、易错点密集等核心备考难题。文档以Word(.docx)格式呈… · 2026/11/4 14:32:54
Windows下Mamba-ssm安装实战:CUDA+VS Build Tools编译指南 1. 项目概述:为什么一个Mamba-ssm安装教程值得花20分钟认真读完“最新保姆级Mamba-ssm安装,Windows下mamba环境搭建(零基础)”——这个标题里藏着三个关键信号:最新、保姆级、零基础。它不是又一篇复制粘贴的conda ins… · 2026/11/4 14:32:54
数字化学习中的高效协作笔记系统设计与实践 1. 项目背景与核心价值这个看似简单的"班级作业笔记报告0x02"项目标题背后,其实隐藏着学生群体在数字化学习场景中的真实痛点。作为经历过无数次小组作业折磨的老学长,我深知一份规范的作业笔记对团队协作效率的提升有多重要。不同于个人随堂笔… · 2026/11/4 14:32:54
MySQL ODBC数据源配置实战:32位驱动、字符集与DSN排障 简介:本资源是一份面向数据库初学者与开发人员的MySQL ODBC数据源配置实操指南,解决Windows环境下MySQL与第三方应用(如Excel、Power BI、报表工具等)建立标准数据库连接的核心问题。文档以步骤式图文逻辑展开,完整覆盖… · 2026/11/4 14:32:54
tsm-hub:面向LLM时代的智能体运行时网关 1. 项目概述:一个被低估的“智能体操作系统内核”“tsm-hub”这个名字乍一听像某个冷门开源库的代号,但拆开来看——T(Tools)、S(Skills)、M(MCP)、Hub(网关)… · 2026/11/4 14:31:53
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38