一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网页防截屏方法与流程

2022-07-23 12:52:41 来源:中国专利 TAG:


1.本发明涉及计算机安全技术领域,尤其涉及网页防截屏方法。


背景技术:

2.在一些基于浏览器的应用系统中,可能会显示一些重要信息,有时候我们希望能够对某些网页禁止截屏,但是浏览器本身并没有防止截屏的功能。且现有的技术通常是对禁止截屏的网页添加水印。


技术实现要素:

3.本发明的技术问题是提供网页防截屏方法,能够使浏览器本身具备防截屏功能,且能对浏览器页面持续进行防截屏监控,对特定网页进行防截屏设置。
4.为实现上述目的,本发明采取的技术方案为:
5.一种网页防截屏的方法,包括以下步骤:s1浏览器扩展模块响应于浏览器的一次浏览事件中的目标页面发送的目标事件,按预设监听周期监听目标程序运行状态,并接收目标程序的反馈值;s2判断目标程序的反馈值是否为目标反馈值,若否,执行s3;若是,执行s4;其中,目标页面为一次浏览事件中识别的具有禁止截屏标识的页面;目标事件为自定义事件;目标反馈值值为自定义反馈值;s3向浏览器发送安装目标程序的提示;s4通过目标程序对浏览器的窗口进行实时监测,若识别到禁止截屏标识,目标程序将当前页面设置为防截屏模式。
6.进一步地,浏览器扩展模块包括信息交互子模块和后台子模块;信息交互子模块用于实现与浏览器的前端和后端的通讯;后台子模块用于启动目标程序,并获取目标程序的运行状况发送至信息交互子模块。
7.进一步地,目标程序包括:动态链接库和本地响应子模块;动态链接库用于提供将具有防截屏表示的浏览器页面设置为防截屏模式的函数;本地响应子模块,用于响应后台子模块的启动信号,调用目标程序。
8.进一步地,s1包括:信息交互子模块响应于浏览器的一次浏览事件中的目标页面触发系统后系统发送的目标事件,创建第二监听事件;其中,信息交互子模块还包括第一监听事件,系统设置有第三监听事件;第一监听事件向后台子模块发送触发信号触发目标程序;其中,后台子模块包括第四监听事件;当后台子模块通过第四监听事件监听到触发信号,启动目标程序;本地响应子模块响应于启动信号,向第四监听事件发送反馈值;第四监听事件将反馈值发送给第二监听事件,第二监听事件将反馈值发送至第三监听事件。
9.进一步地,s4包括:通过目标程序对浏览器的窗口进行实时监测,目标程序若识别到禁止截屏标识,调用动态链接库中的函数将当前页面设置为防截屏模式;目标程序持续发送目标反馈值至第四监听事件,第四监听事件将目标反馈值发送至第二监听事件,第二监听事件将目标反馈值发送至第三监听事件。
10.进一步地,s2为:第三监听事件按预设周期监听反馈值是否为目标反馈值;若否,
执行s3;若是,执行s4。
11.进一步地,动态链接库还包括判断函数,判断函数用于判断浏览器是否为目标浏览器。
12.进一步地,本地响应子模块响应于启动信号,向第四监听事件发送反馈值,包括:本地响应子模块响应于启动信号,调用判断函数判断浏览器是否为目标浏览器;若是,本地响应子模块向第四监听事件发送反馈值;若否,结束进程。
附图说明
13.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本发明的主旨。
14.图1是本发明提供的网页防截屏方法的简要流程示意图。
具体实施方式
15.下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限定。
16.本发明提供的网页防截屏方法,如图1所示,包括以下步骤:s1浏览器扩展模块响应于浏览器的一次浏览事件中的目标页面发送的目标事件,按预设监听周期监听目标程序运行状态,并接收目标程序的反馈值;s2判断目标程序的反馈值是否为目标反馈值,若否,执行s3;若是,执行s4;其中,目标页面为一次浏览事件中识别的具有禁止截屏标识的页面;目标事件为自定义事件;目标反馈值值为自定义反馈值;s3向浏览器发送安装目标程序的提示;s4通过目标程序对浏览器的窗口进行实时监测,若识别到禁止截屏标识,目标程序将当前页面设置为防截屏模式。
17.浏览器扩展模块包括信息交互子模块和后台子模块;信息交互子模块用于实现与浏览器的前端和后端的通讯;后台子模块用于启动目标程序,并获取目标程序的运行状况发送至信息交互子模块。
18.目标程序包括:动态链接库和本地响应子模块;动态链接库用于提供将具有防截屏表示的浏览器页面设置为防截屏模式的函数;本地响应子模块,用于响应后台子模块的启动信号,调用目标程序。
19.s1包括:信息交互子模块响应于浏览器的一次浏览事件中的目标页面发送的目标事件,创建第二监听事件;其中,信息交互子模块还包括第一监听事件,系统设置有第三监听事件;第一监听事件向后台子模块发送触发信号触发目标程序;其中,后台子模块包括第四监听事件;当后台子模块通过第四监听事件监听到触发信号,启动目标程序;本地响应子模块响应于启动信号,向第四监听事件发送反馈值;第四监听事件将反馈值发送给第二监听事件,第二监听事件将反馈值发送至第三监听事件。
20.s4包括:通过目标程序对浏览器的窗口进行实时监测,目标程序若识别到禁止截屏标识,调用动态链接库中的函数将当前页面设置为防截屏模式;目标程序持续发送目标反馈值至第四监听事件,第四监听事件将目标反馈值发送至第二监听事件,第二监听事件将目标反馈值发送至第三监听事件。
21.s2为:第三监听事件按预设周期监听反馈值是否为目标反馈值;若否,执行s3;若是,执行s4
22.动态链接库还包括判断函数,判断函数用于判断浏览器是否为目标浏览器。
23.本地响应子模块响应于启动信号,向第四监听事件发送反馈值,包括:本地响应子模块响应于启动信号,调用判断函数判断浏览器是否为目标浏览器;若是,本地响应子模块向第四监听事件发送反馈值;若否,结束进程。
24.具体地,本方法在本实施例中以软件代码的形式实现,对于目标程序,即本地防截屏程序,首先需要创建动态链接库,即dll(anticapscn.dll)。在dll中,主要做三项工作:
25.1、编写一个函数starthook,并将其引出,其目的为通过setwindowshookex,将本dll加载到其他包括浏览器的进程,主要代码如下:
[0026][0027]
2、在dll加载的过程中,判断是否为目标浏览器,本实施例中以edge浏览器为目标浏览器。如是,则使用detours或其他apihook的方式,调用hook setwindowtextfuns函数。主要代码如下:
[0028]
[0029][0030]
3、在setwindowtextw中,根据lpstring,如果目标浏览器页面含有禁止截屏标识,则调用setwindowdisplayaffinity,将当前窗口设为防止截屏。主要代码如下:
[0031]
[0032][0033]
接着,创建目标程序browsec.exe。将其放置于e:\preventcapscn,同时将anticapscn.dll亦一同放置于该目录。目标程序的核心是加载dll,并调用其starthook,如果调用成功,则使用stdio定时循环发送消息。如下:
[0034][0035]
然后,创建本地响应子模块,即本地响应文件,manifest4edge.json,chrome-extension后面的值为加载扩展时产生的值。
[0036][0037]
最后,导入注册表。编辑如下文件(假设该上述文件存e:\preventcapscn),并将扩展名改名为.reg。然后双击导入:
[0038]
[hkey_current_user\software\microsoft\edge\nativemessagingho sts\com.ywlsoft.preventcapscn]
[0039]
@="e:\\preventcapscn\\manifest4edge.json"
[0040]
对于应用系统,需要防止截屏的页面的title中应有相关特定的标识,例如:禁止截屏,参考如下:《title》测试页面.html(禁止截屏)《/title》。
[0041]
如图1所示,当在某一次浏览事件中首次当打开含有禁止截屏标识的页面时,系统内创建并分发一个目标事件,该目标事件为自定义事件,伴随该事件有第三监听事件,第三监听事件每隔1秒监听一次响应,即response,如果收到响应,则表明工作正常,如果没有响应,则提示安装目标程序。参考代码如下:
[0042]
[0043][0044]
对于浏览器扩展模块,主要包括三个文件分别为:
[0045]
1、插件配置信息文件manifest.json,用于提供应用程序相关描述的文件,包括名称,作者,图标和描述,代码如下:
[0046]
[0047][0048]
2、信息交互子模块,即信息交互文件content.js,主要用于与系统的前端页面及扩展的后端通讯。以下为content.js的主要内容:第一监听事件document.addeventlistener的作用是监听浏览器页面中发出的目标事件的消息,当接收到目标事件的消息,向后台子模块发送一个launch消息。
[0049]
第二监听事件chrome.runtime.onmessage.addlistener的作用是监听来自后台子模块发来的消息,判断本地程序是否正在运行中。代码如下:
[0050][0051]
3、后台子模块,即后台文件background.js,用于创建第四监听事件,当收到来自content.js中发来的launch消息时,通过nativemessage来启动本地程序,并在收到nativemessage后,将其发送到content.js中的第二监听事件中。以下为background.js的主要内容。
[0052]
[0053][0054]
[0055]
综上所述,本发明解决了现有技术中浏览器本身并没有防止截屏的功能,能够使浏览器本身具备防截屏功能,且能对浏览器页面持续进行防截屏监控,对特定网页进行防截屏设置,提高了防截屏处理效率和精度。
[0056]
以上对本发明的较佳实施例进行了描述;需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容;因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献