自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 网站访问现“不安全”警报?0成本攻略来救场!

浏览器上的那个红色警告,可能只是几行代码就能解决的问题。当用户在浏览器地址栏看到醒目的“不安全”警告时,第一反应往往是关闭页面——据统计,会在看到此类警告后立即离开网站7。这些警告看似棘手,实则大多可通过技术手段免费解决。网站管理员无需立即购买新服务或证书,许多“不安全”警报源于配置问题而非资金投入。本文将深入解析警告背后的技术原因,并提供全套。

2025-08-08 14:08:05 963

原创 网络安全硬核扫盲!这100条知识点颠覆你的认知

网络安全,简单来说,就是保护网络系统中的硬件、软件和数据不被破坏、更改、泄露,确保系统能够连续可靠地运行,网络服务不中断。从本质上讲,它是网络上的信息安全,涵盖了信息的保密性、完整性、可用性、可控性和真实性等多个重要属性。保密性,是指信息不泄露给非授权的个人、实体和过程,或供其使用的特性。在现实生活中,我们的个人银行账户信息、身份证号码等都需要严格保密。一旦这些信息被泄露,可能会导致个人财产损失或身份被盗用。

2025-08-08 14:00:59 1190

原创 2025程序员“钱”途大揭秘:10大就业方向等你解锁

2025 年,程序员的职业发展前景充满希望,这 10 大就业方向潜力无限。无论你是刚踏入编程领域的新手,还是经验丰富的老程序员,只要坚定信心,持续学习,勇于尝试,就能在这个充满机遇的时代,找到属于自己的发展道路。

2025-08-07 10:31:27 3963 1

原创 别被表象迷惑!你的“安全区”可能是黑客的游乐场

在数字化浪潮汹涌的当下,网络安全早已不是一个陌生词汇,它紧密关联着我们每个人的生活。从个人隐私到企业机密,从日常支付到重要业务运作,网络安全的防线一旦崩塌,后果不堪设想。想象一下,你正在惬意地享受网络带来的便捷,购物、社交、办公…… 一切都看似井然有序。可就在你毫无察觉之时,黑客或许已经悄然潜入你的网络世界。近年来,各类网络安全事件层出不穷。企业数据泄露事件频频登上新闻头条,大量客户信息、商业机密被暴露在危险之中。

2025-08-06 12:11:54 764

原创 别再纸上谈兵!XXE漏洞实战大揭秘

在网络安全的领域里,XXE 漏洞就像隐匿在暗处的 “暗箭”,时刻威胁着我们的数字世界。从最初对其原理的懵懂认知,到深入剖析它的危害,再到亲身参与实战演练,最后掌握一系列行之有效的防范措施,我们走过了一段充实且意义非凡的探索之路。理论知识固然重要,它是我们认识 XXE 漏洞的基石,让我们明白其产生的根源、运作的机制以及可能引发的严重后果。然而,实战才是检验真理的唯一标准。

2025-08-06 12:05:25 1022

原创 从“Bug”到Struts2漏洞:小白必知的网络安全揭秘

了解了 “bug” 的含义后,我们再来认识一下 Struts2 框架。Struts2 是一个基于 MVC(Model-View-Controller,模型 - 视图 - 控制器)设计模式的开源 Web 应用框架,主要用于开发 Java EE(Java Enterprise Edition)的 Web 应用程序。它就像是一个搭建 Web 应用的脚手架,为开发者提供了一系列的工具和规范,使得开发过程更加高效和规范。

2025-08-05 15:05:45 1095

原创 别让DNS劫持,偷走你的网络安全!

DNS 劫持,简单来说,就是攻击者通过各种手段,非法获取对某个域名解析记录的控制权,然后对这些记录进行恶意修改,使得原本指向正确 IP 地址的域名,被错误地导向了其他 IP 地址。就好比有人偷偷篡改了地图导航软件的数据,让你在输入目的地后,被引导到了一个完全错误的地方。缓存投毒:这是一种较为常见的 DNS 劫持手段。攻击者会向 DNS 服务器发送大量精心伪造的 DNS 响应包,这些响应包中包含着错误的域名与 IP 地址映射关系。

2025-08-05 10:31:12 1192

原创 硅基劳工的救赎:AI能否终结996代码苦役?

在代码的茂密丛林里,程序员们恰似困顿的西西弗斯,日复一日、夜复一夜地推着如巨石般沉重的需求艰难上山。无数个寂静的深夜,键盘的敲击声宛如急促的雨点,屏幕透出的微光映照着一张张写满疲惫的脸庞。当 AI 浪潮以摧枯拉朽之势席卷而来,人们仿佛看到了——AI 驱动的智能开发环境(AI IDE)与辅助编程工具,真的能成为斩断 “996” 锁链的利剑,助我们走出代码苦役的迷途吗?

2025-08-01 10:32:51 550

原创 魔术师变身黑客祖师爷:1903年那场让“无线电之父”颜面扫地的恶作剧

在普通人眼中,“黑客” 向来带着几分神秘色彩。他们如同潜伏在纵横交错网络世界里的 “鹰眼”,总能以出其不意的方式闯入视野,偶尔的举动又像一场无伤大雅的恶作剧。1903年6月,马可尼在伦敦举办公演,来秀自己的设备。计划从500公里外距离的车站接收信息,但在他收到消息之前,一个让马可尼一头雾水的消息被传了过来:老鼠老鼠老鼠老鼠有一个年轻的意大利人,他用华丽的手段欺骗公众。想象一下:1903年6月的伦敦皇家研究院,西装革履的绅士淑女们屏息等待“无线电之父”马可尼的神迹降临。

2025-08-01 10:18:29 694

原创 Python点云处理实战:从三维空间视角构建你的数据防御体系

点云是由大量三维点坐标组成的数据集,通常通过激光雷达(LiDAR)、深度相机等设备采集。每个点包含三维坐标(x, y, z),可能还包含颜色、强度等信息。点云广泛应用于自动驾驶、三维重建、机器人导航等领域。Open3D:功能全面,支持可视化、配准、分割等。PyVista:基于VTK,适合科学计算和可视化。PCL(Python绑定):点云库(PCL)的Python接口,功能强大但安装复杂。

2025-07-31 10:07:33 1073

原创 Ubuntu 22.04 启动卡死?全方位诊断与解决方案指南

确保硬件满足最低要求,特别是显卡型号是否被官方支持。部分老旧硬件或特殊型号(如NVIDIA Optimus双显卡)可能导致启动卡死。进入BIOS检查Secure Boot状态,尝试关闭Secure Boot或切换为Legacy模式测试。若Live环境运行正常,则可能是安装后的驱动或配置问题。若Live环境也卡死,需排查硬件故障或更换安装介质。对于企业环境,应考虑使用LTS版本或专业支持服务。某些服务可能因依赖问题导致启动失败。内存不足时系统可能因交换空间问题卡死。修复后建议备份重要数据,避免进一步损坏。

2025-07-31 09:54:40 786

原创 年龄真是网络安全行业的致命硬伤吗?你是否也受年龄困扰不敢转行或深耕

在网络安全招聘论坛上,一位42岁的程序员抛出疑问:“想转行做安全,但我这年龄还有机会吗?” 瞬间引发两极讨论——有人断言“安全就是青春饭,35岁后没出路”,也有人反驳:“我们团队的首席安全官已经55岁”。当技术迭代速度以月计算,年龄焦虑如同乌云般笼罩着从业者。但数据与行业真相,正在揭示一个截然不同的故事。国内安全岗位的年龄分布调研数据,颠覆了公众对行业“青春饭”的刻板印象:注册安全工程师群体的中坚力量集中在30-50岁区间,其中30-40岁人群占比最高,正处于职业上升黄金期;40-50岁资深从业者凭借丰富经

2025-07-30 11:04:15 1092

原创 Linux信号机制:从硬件中断到用户态处理

异步之美:通过软中断实现跨层通信安全之道:异步信号安全函数保障系统稳定控制之艺:信号屏蔽实现精准时序控制实时之进:实时信号满足现代应用需求从1970年代Unix V7首次引入信号,到如今systemd对信号的重构,这一机制始终是进程控制的基石。当你下次按下Ctrl+C时,请记住背后是一场跨越硬件中断、内核调度和用户处理的精密协作。终极思考:在微内核架构中,信号机制将如何演变?答案或许就在seL4和Zircon等现代内核的设计中——信号处理将作为独立服务运行,实现更彻底的安全隔离。

2025-07-30 10:24:31 584

原创 共享内存 vs 消息队列:高性能IPC如何选择?

速度王者:共享内存以零拷贝设计碾压其他方案灵活担当:消息队列提供结构化与解耦能力同步基石:信号量守护并发安全在万亿级流量的现代系统中:股票交易所使用共享内存处理订单(纳秒延迟)Kubernetes使用消息队列调度容器(解耦设计)数据库使用信号量保护缓冲池(并发控制)选择IPC如同选择交通工具:共享内存是"超音速飞机"——极快但操作复杂消息队列是"高铁网络"——高效可靠但需固定轨道管道则是"城市公交"——简单便捷但速度有限掌握这些IPC机制的精髓,你将能设计出如交响乐般协调的高性能系统。

2025-07-29 10:15:50 983

原创 Linux IPC实战:管道与命名管道的进程对话术

从1973年Unix V4首次引入管道至今,这一简洁而强大的IPC机制已服务计算机世界半个世纪。简单即强大:基于文件描述符的统一接口组合创造无限:fork+dup2+exec的组合实现复杂通信内核高效支撑:环形缓冲区+同步机制保障性能当你下次在终端使用管道符时,请记住背后是Unix哲学的精髓体现:"让每个程序做好一件事,通过管道协同工作"在微服务和容器化时代,管道机制依然是进程通信的基石。掌握它,你就拥有了理解Linux系统级编程的金钥匙——让进程间的对话如同交响乐般和谐流畅。思考题。

2025-07-29 09:54:43 605

原创 Linux IPC实战:管道与命名管道的进程对话术

简单即强大:基于文件描述符的抽象统一了操作接口组合创造无限:通过fork/dup2/exec的组合实现复杂通信内核加持效率:环形缓冲区+同步机制保障性能当你下次使用管道符时,请记得背后是四十年前UNIX先贤设计的通信艺术在默默服务。这简洁的竖线如同进程间的桥梁,承载着数据,也传承着UNIX哲学的真谛:"让每个程序做好一件事,并通过管道协同工作"在微服务与容器化盛行的今天,管道机制依然是进程通信的基石。掌握它,便是握住了打开Linux系统级编程大门的钥匙。

2025-07-28 10:23:39 1133

原创 Linux权限系统完全指南:从本质到安全实践

Linux权限系统是一个精密的访问控制模型。理解其内在逻辑比记忆命令更重要。作为安全从业者,我们应:始终遵循最小权限原则定期审计系统权限配置谨慎使用特权操作善用监控工具追踪权限变更统计显示:超过60%的Linux系统入侵源于权限配置不当。一次可能让所有安全措施瞬间失效。记住:在权限的世界里,克制即是力量。

2025-07-28 10:08:13 1086

原创 【Linux】从普通进程到守护进程:系统服务的诞生之路

自我剥离:通过fork()和setsid()脱离终端束缚资源净化:重定向IO、清除掩码、切换目录持久化运行:进入无限服务循环现代化管理:被systemd接管实现高可用日志传承:通过syslog/journalctl留下运行痕迹当你在凌晨三点关闭笔记本电脑,那些在服务器上默默运行的守护进程,正如数字世界的守夜人,继续执行着它们的使命。它们不需要掌声,只需一个可靠的命令——这便是系统服务的终极浪漫。最后思考:当容器化时代来临,systemd与Docker的init进程如何共舞?

2025-07-26 10:17:47 861

原创 Linux权限机制:RUID/EUID/SUID与进程安全

RUID标识你的合法身份EUID决定你此刻能打开哪些门SetUID是临时通行证则是细分的权限钥匙在安全领域,最小权限原则不是选项而是铁律。当您下次执行sudo或修改密码时,不妨想象背后严密的权限检查机制——正是这些设计,守护着系统最后的安全防线。思考题:为何Docker容器默认以root运行仍是安全的?答案藏在Linux Capabilities和Namespace的协同设计中。

2025-07-26 09:53:34 906

原创 弱口令:网络安全中最脆弱的锁,如何加固?

想象一下:你家防盗门装的是玩具塑料锁,小偷用一根牙签就能捅开——这就是弱口令在数字世界的危险写照。2023年Verizon报告显示,,而修复成本高达每次泄露。

2025-07-25 11:05:37 1265

原创 2025年网络安全常见十大漏洞总结:原理、危害与防御指南

输入过滤:所有用户输入视为“可疑物品”,用白名单机制严格筛查(如手机号框只允许输入数字)。:攻击者将恶意代码“注射”到系统查询中(如数据库、操作系统),就像给输水管道偷偷灌毒液。:系统未验证用户权限,导致普通人能访问管理员功能,好比拿到一把能开所有门的“万能钥匙”。:诱骗用户点击链接,以其身份发起恶意请求(如转账),像伪造你的签名发快递。:因配置疏忽暴露敏感信息(如默认密码、调试页面),如同保险柜忘了上锁。数据加密备份(遵循3-2-1原则:3份备份,2种介质,1份离线)

2025-07-25 10:54:02 1156

原创 Linux进程生命周期:从创建到回收的完整闭环

创建fork()+ COW优化实现高效分身执行:在就绪、运行、睡眠状态间切换终止:通过exit()或信号结束使命回收:父进程通过wait()完成资源释放理解进程从生到死的完整旅程,不仅让你洞悉操作系统的核心机制,更能编写出高效稳定的并发程序。当你再次运行Linux命令时,不妨想象背后那些悄然诞生、忙碌工作并最终被完美回收的进程生命——这正是系统稳定运行的基石。

2025-07-24 10:22:21 1122

原创 Linux进程替换的双剑合璧:fork与exec协同工作全流程详解

父进程调用fork()内核创建子进程,复制父进程的PCB、虚拟地址空间(COW优化)、文件描述符表、环境变量、信号设置等。fork()在父进程中返回子进程PID,在子进程中返回0。子进程准备执行新程序(通常在fork()返回0的分支中) 子进程调用exec家族函数(如execvpexecl内核执行execve()(核心系统调用)权限检查: 验证子进程是否有权执行目标文件。解析文件: 读取目标可执行文件头(ELF)。清理旧空间销毁子进程当前的用户态内存(代码、数据、堆、栈)。保留关键内核资源保留。

2025-07-24 10:10:45 1217

原创 漏洞世界的“试金石”与“武器库”:POC与EXP的本质区别

想象医院里两位医生:一位负责检查确认病症(POC),另一位则执刀实施手术(EXP)。1. POC(Proof of Concept,概念验证)——漏洞的“诊断证明”POC是一段代码、一组命令或一个简单请求,核心目标仅有一个:证明漏洞真实存在。它如同轻推一扇未锁的窗,只为验证能否推开,而非入室行窃。例如SQL注入漏洞的POC,可能只是一条引发报错的语句:若返回数据库错误,即证明漏洞存在。2. EXP(Exploit,漏洞利用程序)——漏洞的“攻击武器”EXP则是完整的攻击程序,

2025-07-23 10:27:49 902

原创 深入理解 TCP 协议:Linux 网络传输的可靠基石

TCP 协议是互联网可靠数据传输的基石,其设计体现了工程上的高度智慧和权衡。从三次握手建立信任通道,到序列号、ACK、重传机制保障数据可靠有序;从滑动窗口进行端到端的流量控制,到慢启动、拥塞避免、快速恢复等算法守护网络健康;再到四次挥手确保连接优雅关闭,每一个环节都至关重要。深入理解 TCP 的机制,特别是序列号/ACK、滑动窗口、拥塞控制等核心概念,并熟练掌握 Linux 系统下观察、诊断和调优 TCP 连接的工具与方法 (sstcpdumpsysctl。

2025-07-23 10:07:58 1185

原创 Rufus:Ubuntu U盘启动盘制作工具详解

Rufus 是一款功能强大且易于使用的 U 盘启动盘制作工具,特别适合 Ubuntu 用户。通过简单的几步操作,即可快速创建可引导的 Ubuntu 安装介质。无论是系统安装还是故障修复,Rufus 都是不可或缺的工具之一。

2025-07-22 10:29:33 1673

原创 计算机的“语言”三兄弟:机器语言、汇编语言、高级语言

特点机器语言汇编语言 (低级语言)高级语言组成纯二进制 (0 和 1)助记符 (如 MOV, ADD)接近自然语言和数学的单词、符号执行对象CPU直接执行需汇编器翻译成机器语言需编译器/解释器翻译执行可读性极差 (天书)较差 (需硬件知识)好(接近人类思维)编写难度极高(非人类)高(需精通硬件)低/中(易入门)开发效率极低低高执行效率最高(直接硬件操作)很高(接近硬件)相对较低(但有强大优化)硬件依赖性完全依赖(特定CPU)强依赖(特定CPU架构)弱依赖(可移植性好)抽象层次。

2025-07-22 10:17:35 1262

原创 Linux学习:虚拟地址空间详解

这个图书馆就是计算机的内存,而书籍就是程序运行所需的数据和指令。但直接让每个读者(程序)在书架上找书效率极低,还可能拿错或冲突。魔法目录的诞生图书管理员(操作系统)为每位读者发放一本“魔法目录”(虚拟地址空间)。目录里写着“第1本书在A区”、“第2本书在B区”,但实际上这些编号是虚拟的。当读者查找目录时,管理员会暗中将虚拟编号翻译成真实的书架位置(物理地址),并确保不同读者的目录编号互不干扰。冲突与安全的解决两位读者可能在各自的目录里都标记了“第1本书”,但管理员通过魔法将他们指向不同的真实书架。

2025-07-21 10:05:24 1097

原创 网络安全适合女生学吗?

网络安全绝对适合女生学习。女性在这一领域的独特优势、多样化的职业选择以及行业的支持政策,都为女生提供了广阔的发展空间。只要保持热情、持续学习,女生完全可以在网络安全领域取得卓越成就。性别不应成为职业选择的限制,兴趣和能力才是关键。

2025-07-21 09:50:47 1183

原创 网络安全的重要性

网络安全是指通过技术手段和管理措施,预防、检测和应对网络威胁,保护计算机系统、网络基础设施和数据免受未经授权的访问、破坏或泄露。其涵盖多个领域,包括数据安全、应用安全、终端安全、云安全等。网络安全的核心目标是确保信息的机密性、完整性和可用性(CIA三要素)。机密性指数据仅能被授权用户访问,完整性指数据在传输和存储过程中不被篡改,可用性指系统在遭受攻击时仍能正常运行。网络安全不仅关乎个人隐私和财产安全,更影响社会稳定和国家安全。

2025-07-19 10:39:06 790

原创 【Linux】多线程编程基石:深入解析线程同步与互斥机制

线程同步与互斥是构建可靠多线程程序的基石。开发者需理解不同机制的特性与适用场景,结合性能需求与代码复杂度,设计合理的并发控制方案。

2025-07-19 09:48:26 477

原创 C++优化关键技术实战精要

优化方法:分块(Blocking)技术利用缓存局部性,结合SIMD指令并行计算。避免阻碍向量化的依赖(如循环内跨步访问)。措施包括:禁用动态链接(静态编译),实时优先级(在编译期计算常量表达式,减少运行时开销。SIMD指令(如AVX)通过。避免在循环内调用虚函数或复杂条件判断。),以及避免系统调用(如自定义内存分配器)。使用对象池或内存预分配(如。(Linux)、VTune(Intel)或。内联汇编或编译器内置指令(关键字(C99)指示指针无重叠。开启编译器优化标志(如GCC的。)在性能敏感路径中的使用。

2025-07-18 10:25:35 347

原创 30岁转行网络安全:现实与可能的交界处

三十而立,却站在职业的十字路口,网络安全——这个充满机遇的领域似乎在向你招手,但‘年龄’的疑虑是否成了心头的绊脚石?别让数字定义你的可能性。现实是,网络安全行业正渴求的不仅是技术尖兵,更是拥有成熟心智、深刻业务理解与实战韧性的复合型人才。30岁转行,你并非‘从零开始’,而是站在过往经验累积的高地上,准备一次‘能力的重新组合’。运维的积淀、开发的逻辑、管理的视野,都将成为你切入安全领域的独特跳板。

2025-07-18 10:20:20 1074

原创 网络安全运维的“高光时刻”:这些亮点工作值得被看见!

在重大活动保障的关键48小时里,当所有人的目光都聚焦在业务运行上时,安全运维团队却凭借自动化监测系统,悄无声息地拦截了17次针对性攻击,保障了零事故的完美记录——这样的“隐形守护”,正是安全运维价值的生动写照。在看似平静的日常背后,安全运维团队正通过一个个扎实的举措,为企业构筑起稳固的防御基石。这些“高光时刻”背后,是对风险的敬畏、对技术的深耕,更是对守护企业核心资产与用户信任的坚定承诺。,在2小时内成功遏制攻击并恢复核心交易系统,将损失降至最低,赢得客户口碑与市场信任。

2025-07-17 11:13:06 517

原创 浅析网络安全面临的主要威胁类型及对应防护措施

对于企业和组织,必须将安全视为核心战略,持续投入资源,建立以“零信任”为理念、纵深防御为策略、快速响应为能力的安全运营机制。威胁类型在进化(如AI驱动的攻击),攻击手段在翻新。唯有保持警惕,不断学习,积极防御,我们才能在享受数字化便利的同时,守护好这片至关重要的数字疆域。预先制定清晰的流程,明确在发生安全事件(如数据泄露、勒索攻击)时谁负责、做什么、如何沟通、如何恢复,最大限度减少损失。登录关键系统时,除了密码,增加手机验证码、指纹、硬件令牌等第二重验证(MFA),是防止账号被盗的最有效手段之一。

2025-07-17 11:09:03 1256

原创 如何保障域名网络安全:守护你的“网络门牌号”

域名安全并非一劳永逸,而是一项需要持续投入和警惕的综合工程。将域名安全纳入企业整体网络安全战略,定期审视和加固,是数字化时代不可或缺的基础防护。

2025-07-16 10:40:21 972

原创 Linux网络栈的核心:TCP/IP、路由、Netfilter与虚拟网络探秘

TCP/IP协议栈是Linux网络层的核心,分为四层:应用层、传输层、网络层和链路层。网络层主要负责数据包的寻址和路由,核心协议包括IP(Internet Protocol)和ICMP(Internet Control Message Protocol)。Linux支持多种虚拟网络设备,如虚拟以太网(veth)、桥接(bridge)和隧道(tunnel)。Linux作为广泛使用的操作系统,其网络层包含多种协议和技术,支持高效的数据传输和网络通信。常见的防火墙策略包括允许或阻断特定端口、IP地址或协议。

2025-07-16 09:45:00 568

原创 网络通信技术探秘:Socket套接字与TCP协议的完美结合

Java的java.net包提供了Socket类,Python有socket模块,C语言使用sys/socket.h头文件。连接释放时采用四次挥手机制,FIN和ACK报文的交换保证了连接的优雅关闭。TCP协议作为可靠的传输层协议,与Socket的结合实现了高效稳定的网络通信。SO_REUSEADDR选项解决了端口重用问题,TCP_NODELAY选项禁用了Nagle算法,这些Socket选项为特定场景提供了优化手段。通过将Socket升级为SSL Socket,可以实现数据的加密传输,防止窃听和篡改。

2025-07-15 10:07:35 709

原创 网络侦探手册:tcpdump+Wireshark抓包实战,5分钟变身网络福尔摩斯

图表代码。

2025-07-15 09:45:00 956

原创 网络安全核心定律

的必要性——没有单一银弹,需在技术(加密/检测)、管理(流程/培训)、架构(零信任)多层叠加防护,方能逼近“相对安全”的可行极限。:计算RSA私钥 d=e−1mod  ϕ(n)d=e−1modϕ(n),保障非对称加密有效性3。:多因素认证(MFA)在银行系统中平衡风险与体验——生物识别简化操作,同时提升安全性6。若 pp 为质数且 a∤pa∤p,则 ap−1≡1(modp)ap−1≡1(modp)aϕ(n)≡1(modn)aϕ(n)≡1(modn)(aa 与 nn 互质)

2025-07-14 09:52:07 737

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除