首页 > 其他分享 >ArkWeb智能防跟踪与广告过滤 - 保护用户隐私

ArkWeb智能防跟踪与广告过滤 - 保护用户隐私

时间:2024-10-18 15:46:14浏览次数:9  
标签:功能 跟踪 ArkWeb 过滤 隐私 webview com 广告

本文旨在深入探讨华为鸿蒙HarmonyOS Next系统(截止目前API12)的技术细节,基于实际开发实践进行总结。
主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。
本文为原创内容,任何形式的转载必须注明出处及原作者。

简介

华为鸿蒙HarmonyOS Next系统的ArkWeb(方舟Web)应用框架为开发者提供了强大的Web应用开发能力。然而,Web应用可能会收集用户的个人信息和浏览行为,从而引发隐私问题。ArkWeb框架提供了智能防跟踪功能和广告过滤功能,可以帮助开发者保护用户的隐私。

智能防跟踪功能

ArkWeb框架的智能防跟踪功能可以阻止跟踪型网站携带cookie进行追踪,从而保护用户的隐私。跟踪型网站通常会使用第三方库或脚本跟踪用户的浏览行为,并将其发送到服务器进行分析。智能防跟踪功能可以阻止这些请求,从而防止用户信息被泄露。

工作原理

智能防跟踪功能通过拦截来自跟踪型网站的请求来实现。当Web组件尝试加载来自跟踪型网站的资源时,ArkWeb内核会拦截该请求,并根据配置决定是否允许该请求。如果配置为禁止跟踪型网站的请求,则该请求将被拦截,并阻止携带cookie进行追踪。

如何开启和配置

您可以通过以下步骤开启和配置智能防跟踪功能:

  1. 在应用的入口文件(例如EntryAbility.ets)中调用以下API开启智能防跟踪功能:
import { webview } from '@ohos.web.webview';
// ...
// 开启智能防跟踪功能
webview.WebviewController.enableIntelligentTrackingPrevention({
    enable: true // 开启智能防跟踪功能
});
  1. 您可以设置绕过智能防跟踪功能的域名列表,允许这些域名的请求携带cookie。例如:
import { webview } from '@ohos.web.webview';
// ...
// 设置绕过智能防跟踪功能的域名列表
webview.WebviewController.addIntelligentTrackingPreventionBypassingList(["trusteddomain.com", "anothertrusteddomain.com"]);

广告过滤功能

ArkWeb框架提供了广告过滤功能,可以帮助开发者拦截网页中的广告,从而提升用户体验并保护用户隐私。您可以使用自定义easylist规则文件进行广告拦截,或者使用内置的规则文件。

使用自定义easylist规则文件

您可以使用自定义easylist规则文件来拦截网页中的广告。easylist规则文件是一种简单的文本文件,它包含了要拦截的URL模式或CSS选择器。例如:

https://example.com/ad/*
.advert*

这段规则会拦截example.com域下所有以ad开头的URL,以及所有类名为advert的元素。
您可以将自定义easylist规则文件保存到应用的资源目录下,并使用以下API将其设置到Web组件中:

import { webview } from '@ohos.web.webview';
import { picker } from '@ohos.core.file';
// ...
// 选择自定义easylist规则文件
const documentSelectOptions = new picker.DocumentSelectOptions();
const documentPicker = new picker.DocumentViewPicker();
documentPicker.select(documentSelectOptions).then((documentSelectResult) => {
    if (documentSelectResult && documentSelectResult.length > 0) {
        const fileRealPath = new fileUri.FileUri(documentSelectResult[0]);
        webview.AdsBlockManager.setAdsBlockRules(fileRealPath.path, true);
    }
});

使用内置的规则文件

ArkWeb框架内置了一些广告过滤规则文件,您可以使用以下API将其设置到Web组件中:

import { webview } from '@ohos.web.webview';
// ...
// 使用内置的规则文件开启广告过滤功能
webview.AdsBlockManager.setAdsBlockRules(null, false);

如何开启和配置

您可以通过以下步骤开启和配置广告过滤功能:

  1. 在应用的入口文件(例如EntryAbility.ets)中调用以下API开启广告过滤功能:
import { webview } from '@ohos.web.webview';
// ...
// 开启广告过滤功能
webview.WebviewController.enableAdsBlock({
    enable: true // 开启广告过滤功能
});
  1. 您可以设置允许或禁止广告过滤的域名列表。例如:
import { webview } from '@ohos.web.webview';
// ...
// 设置允许广告过滤的域名列表
webview.AdsBlockManager.addAdsBlockAllowedList(["example.com", "anotherexample.com"]);
import { webview } from '@ohos.web.webview';
// ...
// 设置禁止广告过滤的域名列表
webview.AdsBlockManager.addAdsBlockDisallowedList(["adexample.com", "anotheradexample.com"]);

示例代码

以下示例代码展示了如何使用ArkWeb API开启智能防跟踪功能和广告过滤功能,并设置相关的配置:

import { webview } from '@ohos.web.webview';
import { picker } from '@ohos.core.file';
// ...
// 开启智能防跟踪功能
webview.WebviewController.enableIntelligentTrackingPrevention({
    enable: true // 开启智能防跟踪功能
});
// 开启广告过滤功能
webview.WebviewController.enableAdsBlock({
    enable: true // 开启广告过滤功能
});
// 选择自定义easylist规则文件
const documentSelectOptions = new picker.DocumentSelectOptions();
const documentPicker = new picker.DocumentViewPicker();
documentPicker.select(documentSelectOptions).then((documentSelectResult) => {
    if (documentSelectResult && documentSelectResult.length > 0) {
        const fileRealPath = new fileUri.FileUri(documentSelectResult[0]);
        webview.AdsBlockManager.setAdsBlockRules(fileRealPath.path, true);
    }
});
// 设置绕过智能防跟踪功能的域名列表
webview.WebviewController.addIntelligentTrackingPreventionBypassingList(["trusteddomain.com", "anothertrusteddomain.com"]);
// 设置允许广告过滤的域名列表
webview.AdsBlockManager.addAdsBlockAllowedList(["example.com", "anotherexample.com"]);
// 设置禁止广告过滤的域名列表
webview.AdsBlockManager.addAdsBlockDisallowedList(["adexample.com", "anotheradexample.com"]);

总结

ArkWeb框架的智能防跟踪功能和广告过滤功能可以帮助开发者保护用户的隐私。通过了解这些功能的工作原理,并采取适当的配置,您可以开发出更加安全可靠的Web应用,保护用户的隐私和数据安全。

标签:功能,跟踪,ArkWeb,过滤,隐私,webview,com,广告
From: https://www.cnblogs.com/samex/p/18474398

相关文章

  • ArkWeb页面跳转与跨应用导航 - 高级应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。简介页面跳转是Web应用中常见的操作,......
  • SQL根据IP地址范围过滤数据
    MySQL函数:INET_ATON(expr)将IPv4网络地址转换成一个整数,该整数以网络字节顺序(bigendian)表示地址的数值。如果INET_ATON()不理解其参数,则返回NULL。mysql>SELECTINET_ATON('1.1.1.1');+----------------------+|INET_ATON('1.1.1.1')|+----------------------+|......
  • 基于Springboot的基于协同过滤算法商品推荐系统(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的基于协同过滤算法商品推荐系统(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven+Layui+Elementui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结......
  • 邮件客户端如何设置邮件过滤
    目录服务端发送垃圾邮件-1服务端发送垃圾邮件-2常见邮件客户端中设置过滤规则服务端发送垃圾邮件-1rambo@mail:~$cattest-spam-email.txtSubject:恭喜您!您赢得了奖品!From:[email protected]:[email protected]亲爱的用户,您已被选为我们抽奖活动的获胜者!......
  • 一站式讲解Wireshark网络抓包分析的若干场景、过滤条件及分析方法
    目录1、软件为什么会出现各式各样的网络问题?2、Wireshark抓包工具与tcpdump命令3、典型的网络场景下如何抓包3.1、网卡3.2、集线器3.3、交换机3.4、路由器3.5、加密机3.6、防火墙4、Wireshark简要介绍5、Wireshark过滤条件说明6、结合常用协议进行分析6.1、IPv4协......
  • springmv的过滤器和拦截器的区别是什么
    一个请求进来的时候,先交给web服务器提供的过滤器,例如springboot项目,提供的服务器也就是内置的tomcat,过滤器处理完成以后,然后会来到servlet,有一个dispatcherServlet会调用拦截器,再由dispatcherServlet分发给对应的Controller,处理完请求后,会原路返回,再回到拦截器,再回到过滤器,最终响......
  • SciTech-AV-Video-DVP(Digital Video Processing)-CV/CG-ffmpeg-libavfilter:数字过滤
    Thisdocumentdescribesfilters,sources,andsinksprovidedbythelibavfilterlibrary.FiltergraphSyntaxFiltersinthesamelinearchainareseparatedbycommas,distinctlinearchainsoffiltersareseparatedbysemicolons.Thepointswherethelin......
  • Spingboot 定时任务与过滤器,拦截器
     在boot环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用Spring自带的定时任务处理器@Scheduled注解,另一种就是使用第三方框架Quartz,SpringBoot源自Spring+SpringMVC,因此天然具备这两个Spring中的定时任务实现策略,当然也支持Quartz1.定时任务@Sched......
  • 全方位探索华为鸿蒙ArkWeb:构建高性能跨平台新闻阅读应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言:ArkWeb的优势与跨平台应用的......
  • 界面控件Telerik UI for WPF 2024 Q3亮点 - 支持禁用数据过滤等
    TelerikUIforWPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UIforWPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成VisualStudio工具箱中。本文将介绍界面组件TelerikUIforWPF在今......