当前位置: 首页 > news >正文

anti-screenshot (Android + iOS)

anti-screenshot (Android + iOS) 手机防截屏或者虚化,或是模糊处理页面

Android 提供了系统级 API 来禁止当前 Activity 截屏:只对当前 Activity 生效,切换页面需重新设置,无法阻止 root 设备或部分第三方工具的强制截屏。

// 在你的 WebView 所在的 Activity 中添加 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 禁止当前窗口截屏和录屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); setContentView(R.layout.activity_webview); }

IOS 没有直接的 “禁止截屏” API,监听截屏事件并做处理

// 在 AppDelegate 或 WebView 容器中监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDidTakeScreenshot:) name:UIApplicationUserDidTakeScreenshotNotification object:nil]; - (void)userDidTakeScreenshot:(NSNotification *)notification { // 截屏后执行: // 1. 提示用户禁止截屏 // 2. 模糊/隐藏敏感内容 // 3. 上报风控系统 }

使用 UITextField 遮挡敏感区域(更强限制),利用 iOS 系统对密码输入框的保护特性,将敏感内容包裹在UITextField中并设置secureTextEntry = YES,系统会自动阻止对该区域的截屏和录屏。

H5 辅助防护手段,敏感内容模糊化:当检测到页面失焦 / 进入后台时,用filter: blur(8px)模糊页面核心内容。

.sensitive-content { transition: filter 0.3s; } .blur { filter: blur(8px); }
document.addEventListener('visibilitychange', () => { if (document.hidden) { document.querySelector('.sensitive-content').classList.add('blur'); } else { document.querySelector('.sensitive-content').classList.remove('blur'); } });

在页面上叠加半透明用户水印,即使被截图也能溯源,与原生端通信,上报截屏事件到后台,做行为风控,任何防截屏方案都无法阻止物理拍照、录屏设备(如外接相机)。

http://www.jsqmd.com/news/528964/

相关文章:

  • Pix4D农业多光谱数据处理实战:从空三优化到ENVI蒸散反演
  • 赛马娘DMM版性能优化全指南:从瓶颈诊断到配置实施
  • 通义千问VL-Reranker-8B效果展示:跨境电商多语言图文视频商品排序
  • Rails API应用中的数据库事务:确保数据一致性的终极指南
  • 4步解决PiKVM显示兼容问题:面向树莓派用户的EDID数据校验指南
  • 革新性Forza Painter:一站式图片转车辆涂装解决方案
  • 终极指南:如何用OpenAuth PKCE流程保护前端应用安全认证
  • 【最新】2026年3月OpenClaw(Clawdbot)本地7分钟超简单集成教程
  • 机器学习线性代数--(13)小结:从线性代数到机器学习
  • 模糊的不是照片,是你快要忘记的样子。高清修复,把那些快要消失的,重新留下来。
  • 手把手教你用AT指令配置EByte EC03-DNC 4G模块(附串口调试避坑指南)
  • 独立音乐人福音:用AcousticSense AI自动归档曲风标签
  • DeepChat机器学习模型解释器:黑盒模型可视化对话系统
  • 告别模组管理烦恼:Scarab让《空洞骑士》模组体验升级指南
  • CodeGen在软件开发中的10个实际应用场景:从代码生成到智能编程的完整指南
  • Python packaging模块实战:版本号解析与依赖管理的最佳实践
  • 【教程】2026年3月OpenClaw(Clawdbot)阿里云3分钟零门槛集成教程
  • Win11下CY7C68013驱动安装全攻略:从NI-VISA配置到LabVIEW识别(避坑指南)
  • 轴承故障诊断新玩法:FFT频谱+时频图双通道CNN模型
  • 终极指南:如何快速实现Tsuru应用部署自动化与CI/CD集成
  • Npcap API参考大全:从基础函数到高级用法的完整手册
  • 多个轻量模型横向对比:DeepSeek-R1-Distill在数学推理上的表现如何?
  • 3个简单步骤:用F3免费检测U盘SD卡真实容量的完整指南
  • 基于STM32的嵌入式设备集成影墨·今颜AI能力边缘计算方案
  • USB枚举过程深度解析:从主机请求到字符串描述符响应的完整交互流程
  • 最小二乘法拟合三次多项式曲线MATLAB代码分享
  • 告别被控制:JiYuTrainer教你如何在学习中重获电脑自主权
  • 保姆级教程:用DosBox Daum给Win95装上3dfx Voodoo显卡驱动,告别虚拟机卡顿
  • MCP采样插件下载与安装全流程拆解,覆盖Air-Gapped环境、K8s InitContainer模式、Windows Server 2019 GPO策略部署三大高危场景
  • 企业部署Dify必过安全关:Rerank模型签名验证、动态阈值熔断、响应一致性校验——1套配置即生效的YAML安全策略模板(限前200名领取)