一种应用于Mac平台的安全输入方法及系统与流程

文档序号:20702614发布日期:2020-05-12 15:56阅读:1904来源:国知局
一种应用于Mac平台的安全输入方法及系统与流程

本发明涉及计算机网络技术领域,尤其涉及一种应用于mac平台的安全输入方法及系统。



背景技术:

网景插件应用程序编程接口(npapi,netscapepluginapplicationprogramminginterface)是netscapenavigator、mozillasuite、mozillaseamonkey和mozillafirefox等gecko引擎浏览器与applesafari和googlechrome等webkit引擎浏览器所使用的类似activex的插件接口。现有技术中,浏览器安全输入控件是基于npapi技术开发的,然而伴随着浏览器和网页的迅猛发展,由于npapi插件存在着性能、崩溃等问题,对于用户来说存在潜在的安全隐患,因此谷歌、微软等已经宣布放弃对npapi插件的支持和使用。苹果计算机的操作平台macos中的浏览器safari12以上的版本也不再支持npapi技术,目前大多数提供安全输入的产品,用户输入的重要信息还是有可能会被第三方恶意拦截,从而造成用户信息泄露,甚至财产损失的问题,并且可维护性差,稳定性差,随着用户平台升级,存在无法正常使用的问题,因此在苹果平台的浏览器上安全输入变成了亟待解决的问题。



技术实现要素:

为了解决现有技术中存在的问题,本发明实施例提供了一种应用于mac平台的安全输入方法及系统,能够保证用户在特定输入框中输入的信息免受拦截,避免用户财产造成损失。

其中,本发明实施例提供的一种应用于mac平台的安全输入方法包括控件执行过程和应用程序执行过程;

其中,控件执行过程包括:

步骤a1、控件被浏览器加载后,监听用户对浏览器页面的特定输入框进行的操作事件,当监听到获取输入框焦点事件时,执行步骤a2,当监听到失去输入框焦点事件时,执行步骤a3;

步骤a2、所述控件获取所述特定输入框的属性、获取所述特定输入框相对于终端屏幕的位置,根据所述特定输入框的属性、相对于终端屏幕的位置组织生成第一数据,并将所述第一数据发送给应用程序,返回步骤a1;

步骤a3、所述控件获取所述特定输入框的属性,根据所述特定输入框的属性组织生成第二数据,并将所述第二数据发送给所述应用程序,返回步骤a1;

其中,应用程序执行过程包括:

步骤b1、所述应用程序等待接收数据,当接收到第一数据时执行步骤b2,当接收到第二数据时执行步骤b3;

步骤b2、所述应用程序根据所述第一数据获取所述特定输入框的属性,获取相对于终端屏幕的位置,根据获取的所述特定输入框的属性和相对于终端屏幕的位置生成第一输入框并覆盖特定输入框,通过所述第一输入框接收用户输入的信息;

步骤b3、所述应用程序根据所述第二数据获取所述特定输入框的属性,根据所述特定输入框的属性隐藏所述第一输入框。

本发明实施例提供的一种应用于mac平台的安全输入系统,该系统包括控件和应用程序;

其中,控件包括监听模块,第一获取模块,第一生成模块,第一发送模块;

监听模块,用于监听用户对浏览器页面的特定输入框进行的操作事件;

第一获取模块,用于所述控件被浏览器加载后,当监听模块监听到获取输入框焦点事件时,获取特定输入框的属性和特定输入框相对于终端屏幕的位置;还用于当监听模块监听到失去输入框焦点事件时,获取特定输入框的属性;

第一生成模块,用于根据第一获取模块获取的特定输入框的属性和相对于终端屏幕的位置组织生成第一数据;还用于根据第一获取模块获取的特定输入框的属性组织生成第二数据;

第一发送模块,用于将第一生成模块生成的第一数据发送给应用程序;还用于将第一生成模块生成的第二数据发送给应用程序;

其中,应用程序包括等待接收模块,第二获取模块,第二生成模块,隐藏模块;

等待接收模块,用于等待接收数据;

第二获取模块,用于根据等待接收模块接收到的第一数据获取特定输入框的属性和相对于终端屏幕的位置;还用于根据等待接收模块接收到的第二数据获取特定输入框的属性;

第二生成模块,用于根据第二获取模块获取的所述特定输入框的属性和相对于终端屏幕的位置生成第一输入框并覆盖所述特定输入框;

等待接收模块,还用于通过第二生成模块生成的第一输入框等待接收用户输入的信息;

隐藏模块,用于根据第二获取模块从第二数据获取的特定输入框的属性隐藏第二生成模块生成的第一输入框。

本发明实施例提供的技术方案的有益效果是:本发明通过浏览器加载控件,从而通过控件监听浏览器页面进行的操作事件,当控件监听到操作事件时,控件通知应用程序对当前事件做出响应。通过本发明能够在mac平台上利用控件通过应用程序对用户输入的信息进行拦截并做加密处理,保证了用户输入信息的安全性,从而保证了用户的利益。

附图说明

图1-1是本发明实施例1提供的一种应用于mac平台的安全输入方法中控件执行过程的流程图;

图1-2是本发明实施例1提供的一种应用于mac平台的安全输入方法中应用程序执行过程的流程图;

图2是本发明实施例2提供的一种应用于mac平台的安全输入方法流程图;

图3是本发明实施例3提供的一种应用于mac平台的安全输入方法流程图;

图4是本发明实施例4提供的一种应用于mac平台的安全输入系统框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本实施例1提供的一种应用于mac平台的安全输入方法,通过浏览器加载控件,控件调用具体接口函数通过其相对应的应用程序执行相应的操作,从而实现用户在浏览器输入框中的安全输入。本实施例中,浏览器页面中包括特定输入框和普通输入框,特定输入框用于接收用户输入的需要加密处理的信息,例如密码信息等,普通输入框用于接收用户输入的不需要加密处理的信息,例如用户名信息等;该方法包括控件执行过程和应用程序执行过程;

具体地,如图1-1所示,控件执行过程包括:

步骤s101、控件被浏览器加载后,监听用户对浏览器页面的特定输入框进行的操作事件,当监听到获取输入框焦点事件时,执行步骤s102,当监听到失去输入框焦点事件时,执行步骤s103;

步骤s102、控件获取特定输入框的属性,获取特定输入框相对于终端屏幕的位置,根据特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,并将第一数据发送给应用程序,返回步骤s101;

步骤s103、控件获取特定输入框的属性,根据特定输入框的属性组织生成第二数据,并将第二数据发送给应用程序,返回步骤s101;

具体地,如图1-2所示,应用程序执行过程包括:

步骤s201、应用程序等待接收数据,当接收到第一数据时执行步骤s202,当接收到第二数据时执行步骤s203;

步骤s202、应用程序根据第一数据获取特定输入框的属性和相对于终端屏幕的位置,根据获取的特定输入框的属性和相对于终端屏幕的位置生成第一输入并框覆盖特定输入框,通过第一输入框接收用户输入的信息;

步骤s203、应用程序根据第二数据获取特定输入框的属性,根据特定输入框的属性隐藏第一输入框。

本实施例中具体的,控件通过监听函数监听用户对浏览器页面进行操作时,浏览器创建的操作事件名称;

控件根据监听到的操作事件名称确定当前操作事件为第一操作事件或者第二操作事件,当操作事件名称为第一字段时,操作事件为第一操作事件,当事件名称为第二字段时,操作事件为第二操作事件;

优选的,

第一操作事件具体表示:获取特定输入框焦点的操作事件;

第一操作事件可以包括:用户将鼠标光标显示在特定输入框位置的操作;

第二操作事件具体表示:失去特定输入框焦点的操作事件;

第二操作事件可以包括:用户点击特定输入框所在浏览器页面空白处的操作,关闭、最小化或最大化特定输入框所在页面窗口的操作,点击特定输入框所在页面中登录操作的操作等等;

具体地,监听函数为:"document.addeventlistener";

第一字段为:"bcmopensafeinput";

第二字段为:"doevent";

例如,当事件名称为"bcmopensafeinput"时,操作事件为第一操作事件,当事件名称为"doevent"时,操作事件为第二操作事件。

在本实施例中,当监听到获取输入框焦点事件时,还包括:控件获取第一预设字段;

可选地,根据特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体为:控件根据特定输入框的属性、相对于终端屏幕的位置和第一预设字段组织生成第一数据;

本实施例中具体的,步骤s102中,控件获取特定输入框的属性具体为:控件通过浏览器页面前端加载的信息中获取特定输入框的属性;

特定输入框的属性具体为:特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框的高度和宽度;

例如,特定输入框所在浏览器页面的唯一标识为:guid=dbc738a6-1d07-4a40-925e-9e3771ef4b7e;

特定输入框的唯一标识为:fieldid=“password”;

特定输入框的高度:height=“40”;

特定输入框的宽度:width=“200”;

本实施例中具体的,控件获取特定输入框相对于终端屏幕的位置具体为:控件获取特定输入框左上角顶点相对于其所在浏览器页面左上角顶点的第一横向距离和第一纵向距离,获取特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,根据第一横向距离、第一纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的位置。

具体地,根据第一横向距离、第一纵向距离,及其浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的位置,具体为:

控件获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的横向距离并作为第二横向距离,并获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的纵向距离并作为第二纵向距离,根据第一横向距离和第二横向距离得到特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离,根据第一纵向距离、第二纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离。

例如,第一横向距离为x1,第一纵向距离y1;

第二横向距离为x2,第二纵向距离y2;

特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度为h1;

特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离为:x=x1+x2;

特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离为:y=h1-y1-y2;

控件获取特定输入框相对于终端屏幕的位置为(x,y)。

具体地,控件根据特定输入框的属性、相对于终端屏幕的位置和第一预设字段组织生成第一数据,具体为:根据特定输入框所在浏览器页面的唯一标识,特定输入框的唯一标识,特定输入框的高度和宽度,特定输入框相对于终端屏幕的位置以及第一预设字段组织成第一数据;

例如,第一数据为:urlstr=[[nsstringalloc]initwithformat:@"cn.com.bcm.bcmeditapp://bcmopensafeinput&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@",guid,fieldid,posx,posy,width,height,ispassword,minlength,maxlength,rule,uniqueid,keyname,edittype,setkey]。

本实施例中具体的,对应用程序执行第一操作具体为:控件打开应用程序,或者控件触发应用程序;

可选地,控件通过平台接口函数打开或触发应用程,接口函数为openurl;

例如:控件调用接口函数将第一数据包发送给控件对应的应用程序具体为:nsurl*url=[nsurlurlwithstring:urlstr];

[[nsworkspacesharedworkspace]openurl:url]。

在本实施例中,当监听到失去输入框焦点事件时,还包括:控件获取第二预设字段;

可选地,根据特定输入框的属性组织生成第二数据,具体为:控件根据特定输入框的属性和第二预设字段组织生成第二数据;

例如:第二数据为:urlstr=[[nsstringalloc]initwithformat:@"cn.com.bcm.bcmeditapp://closeapp&%@",guid]。

控件调用接口函数将第二数据发送给控件对应的应用程序;

本实施例中具体的,接口函数为openurl;

例如:控件调用接口函数将第二数据包发送给控件对应的应用程序具体为:nsurl*url=[nsurlurlwithstring:urlstr];

[[nsworkspacesharedworkspace]openurl:url]。

可选地,步骤s103中,特定输入框的属性包括:特定输入框所在浏览器页面的唯一标识和特定输入框的唯一标识;

具体地,根据特定输入框的属性和第二预设字段组织生成第二数据,具体为:控件根据特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识和第二预设字段组织生成第二数据

可选地,在步骤s201中,当应用程序接收到数据后还包括:应用程序解析数据,根据解析得到的数据获取预设字段,根据预设字段确定数据类别,当预设字段为第一预设字段时,接收到的数据为第一数据,当预设字段为第二预设字段时,接收到的数据为第二数据。

本实施例中,可选的,应用程序根据第一数据获取特定输入框的属性具体为:应用程序根据第一数据获取特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框的高度和宽度;

根据获取的特定输入框的属性和相对于终端屏幕的位置生成第一输入框,具体为:根据特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框相对于终端屏幕的位置、以及特定输入框的高度和宽度,在特定输入框原有位置上生成与特定输入框高度和宽度相同的第一输入框。

可选地,步骤s202还包括:当接收到用户输入的信息时,应用程序将用户输入的信息进行加密保存,并在生成的第一输入框中显示与用户输入的信息的字节长度对应的预设符号。

具体的,应用程序将用户输入的信息进行加密保存具体为:应用程序根据预置的加密密钥对通过第一输入框接收的信息进行加密处理;

可选地,应用程序根据预置的加密密钥对通过第一输入框接收的信息进行加密处理具体为:应用程序每接收到一个字节就会根据预置的加密密钥进行加密处理;应用程序根据预设长度对接收到的信息通过预置的加密密钥进行加密处理;

其中,预置的加密密钥是与浏览器请求的服务器预先协商好的;

在本实施例中,为了保证用户信息的安全,应用程序只存储对用户输入的信息进行加密后的数据,不存储明文信息;

可选地,在第一输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”。

可选地,应用程序根据获取的特定输入框的属性和相对于终端屏幕的位置生成第一输入框覆盖特定输入框之后还包括:

应用程序根据获取的特定输入框的唯一标识和特定输入框所在浏览器页面的唯一标识,查询是否有对应的加密数据,当查询到有加密数据时,在生成的第一输入框中显示与加密数据的长度一致的预设符号,等待接收用户输入信息。

可选地,应用程序根据特定输入框的属性隐藏第一输入框之后还包括:应用程序在特定输入框中显示与用户输入的信息的长度一致的预设符号。

可选地,应用程序根据特定输入框的属性隐藏第一输入框之后还包括:应用程序将加密处理得到的用户输入信息的密文信息发送给控件。

本实施例中具体的,当控件监听到浏览器创建用户点击特定输入框所在页面中登录操作时,获取第三预设字段,并根据预设字段、特定输入框属性生成第二数据;

当应用程序接收到的第二数据中包括第三预设字段时,应用程序在浏览器页面特定输入框中显示预设符号之后还包括:应用程序通过控件将加密处理得到的用户输入信息的密文信息发送给浏览器;

浏览器接收到用户发送的密文信息后,将密文信息发送给浏览器对应的服务器进行验证。

实施例2

本实施例2提供的一种应用于mac平台的安全输入方法,通过浏览器加载控件,当控件监听到浏览器页面中的特定输入框被用户进行操作时,控件通知与其相对应的应用程序执行相应的操作,从而实现用户在浏览器特定输入框中的安全输入。

本实施例提供的一种应用于mac平台的安全输入方法,如图2所示,该方法包括:

步骤s301、浏览器页面被用户触发;

本实施例中具体的,浏览器页面中包括特定输入框和普通输入框,所述特定输入框用于接收用户输入的需要加密处理的信息,例如密码信息等,所述普通输入框用于接收用户输入的不需要加密处理的信息,例如用户名信息等;

步骤s302、浏览器加载控件;

本实施例中具体的,用户对浏览器页面中特定输入框进行操作时,浏览器会创建当前操作的事件名称。

步骤s303、浏览器接收用户对特定输入框的点击操作;

步骤s304、浏览器创建当前操作的事件名称;

具体地,创建的事件名称为"bcmopensafeinput";

步骤s305、控件通过监听函数监听到浏览器创建的事件名称;

具体地,监听函数为:"document.addeventlistener";

事件名称为"bcmopensafeinput";

步骤s306、控件获取特定输入框的属性,获取特定输入框相对于终端屏幕的位置,获取第一预设字段,根据特定输入框的属性、相对于终端屏幕的位置和第一预设字段组织生成第一数据;

本实施例中具体的,控件获取特定输入框的属性具体为:控件通过浏览器页面前端加载的信息中获取特定输入框的属性;

特定输入框的属性具体为:特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框的高度和宽度;

例如,特定输入框所在浏览器页面的唯一标识为:guid=dbc738a6-1d07-4a40-925e-9e3771ef4b7e;

特定输入框的唯一标识为:fieldid=“password”;

特定输入框的高度:height=“40”;

特定输入框的宽度:width=“200”;

本实施例中,控件获取特定输入框相对于终端屏幕的位置具体为:控件获取特定输入框左上角顶点相对于其所在浏览器页面左上角顶点的第一横向距离和第一纵向距离,获取特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,根据第一横向距离、第一纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的位置。

具体地,根据第一横向距离、第一纵向距离,及其浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的位置,具体为:

控件获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的横向距离为第二横向距离,并获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的纵向距离为第二纵向距离,根据第一横向距离和第二横向距离得到特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离,根据第一纵向距离、第二纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离。

例如,第一横向距离为x1,第一纵向距离y1;

第二横向距离为x2,第二纵向距离y2;

特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度为h1;

特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离为:x=x1+x2;

特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离为:y=h1-y1-y2;

控件获取特定输入框相对于终端屏幕的位置为(x,y)。

具体地,根据特定输入框的属性、相对于终端屏幕的位置和第一预设字段组织生成第一数据,具体为:根据特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框的高度和宽度、特定输入框相对于终端屏幕的位置和第一预设字段组织成第一数据;

例如,第一数据为:urlstr=[[nsstringalloc]initwithformat:@"cn.com.bcm.bcmeditapp://bcmopensafeinput&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@",guid,fieldid,posx,posy,width,height,ispassword,minlength,maxlength,rule,uniqueid,keyname,edittype,setkey]。

步骤s307、控件调用接口函数将第一数据发送给控件对应的应用程序;

本实施例中具体的,接口函数为openurl;

例如:控件调用接口函数将第一数据发送给控件对应的应用程序具体为:nsurl*url=[nsurlurlwithstring:urlstr];

[[nsworkspacesharedworkspace]openurl:url]。

步骤s308、应用程序根据第一数据获取特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框相对于终端屏幕的位置、以及特定输入框的高度和宽度;

步骤s309、应用程序根据获取的信息在特定输入框原有位置上生成与特定输入框高度和宽度相同的第一输入框。

在本实施例中,可选地,步骤s309之后还包括:

步骤s310、用户在应用程序生成的第一输入框中输入密码信息;

步骤s311、应用程序将对用户输入的信息进行加密保存,并在第一输入框中显示预设符号;

可选地,应用程序将对用户输入的信息进行加密保存具体为:应用程序根据预置的加密密钥对用户输入的一个字节进行加密处理;

其中,预置的加密密钥是应用程序与浏览器请求的服务器预先协商好的;

在本实施例中,为了保证用户信息的安全,应用程序只存储对用户输入的信息进行加密后的数据,不存储明文信息;

可选地,在第一输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”;

例如,用户输入“123”,第一输入框显示“***”。

在本实施例中,可选地,步骤s311之后还包括:

步骤s312、浏览器接收用户对特定输入框所在页面空白处的点击操作;

步骤s313、浏览器创建当前操作的事件名称;

具体地,创建的事件名称为"doevent";

步骤s314、控件通过监听函数监听到浏览器创建的事件名称,

具体地,监听函数为:"document.addeventlistener";

事件名称为"doevent";

步骤s315、控件获取特定输入框的属性,根据特定输入框的属性组织生成第二数据包;

本实施例中具体的,控件获取特定输入框的属性具体为:特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识;

控件组织生成第二数据包具体为:控件根据特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识组织成第二数据包;

例如:第二数据包为:urlstr=[[nsstringalloc]initwithformat:@"cn.com.bcm.bcmeditapp://closeapp&%@",guid]。

步骤s316、控件调用接口函数将第二数据包发送给控件对应的应用程序;

本实施例中具体的,接口函数为openurl;

例如:控件调用接口函数将第二数据包发送给控件对应的应用程序具体为:nsurl*url=[nsurlurlwithstring:urlstr];

[[nsworkspacesharedworkspace]openurl:url]。

步骤s317、应用程序根据第二数据包获取特定输入框的属性,根据特定输入框的属性将第二输入框进行隐藏;

步骤s318、应用程序在浏览器页面特定输入框中显示预设符号。

本实施例中,可选地,在第一输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”。

本实施例中,可选地,步骤s311之后或者步骤s317之后,还包括:

用户对特定输入框所在页面的最小化、最大化和关闭,以上三种操作均适用与步骤s313至步骤s317;

本实施例中,可选地,当用户点击特定输入框所在页面中的登录操作时,在步骤s318中,应用程序在浏览器页面特定输入框中显示预设符号之后还包括:应用程序通过控件将加密处理得到的用户输入信息的密文信息发送给浏览器。

本实施例中,具体的,浏览器接收到用户发送的密文信息后,将密文信息发送给浏览器对应的服务器进行验证。

实施例3

本实施例3提供的一种应用于mac平台的安全输入方法,通过浏览器加载控件,控件调用具体接口函数通过其相对应的应用程序执行相应的操作,从而实现用户在浏览器输入框中的安全输入。

本实施例中,浏览器具体为safari,浏览器页面为用户个人银行平台,如图3所示,该安全输入方法包括:

步骤s401、浏览器被用户触发;

步骤s402、浏览器加载控件;

本实施例中具体的,当前浏览器页面中具体包括用户名输入框、密码输入框、验证码输入框和登录按钮;

步骤s403、浏览器接收用户对页面中的用户名输入框的点击操作,接收用户输入的用户名信息;

步骤s404、浏览器接收用户对页面中的密码输入框的点击操作;

本实施例中具体的,用户点击浏览器页面中的密码输入框具体为:用户将鼠标光标显示在密码输入框中。

步骤s405、浏览器创建当前操作的事件名称;

具体地,创建的事件名称为"bcmopensafeinput";

步骤s406、控件通过监听函数监听到浏览器创建的事件名称;

具体地,监听函数为:"document.addeventlistener";

事件名称为"bcmopensafeinput";

步骤s407、控件获取密码输入框的属性,获取密码输入框相对于终端屏幕的位置,根据密码输入框的属性和相对于终端屏幕的位置组织生成第一数据;

本实施例中具体的,控件获取密码输入框的属性具体为:控件通过浏览器页面前端加载的信息中获取密码输入框的属性;

密码输入框的属性具体为:密码输入框所在浏览器页面的唯一标识,密码输入框的唯一标识,密码输入框的高度和宽度;

例如,密码输入框所在浏览器页面的唯一标识为:guid=dbc738a6-1d07-4a40-925e-9e3771ef4b7e;

密码输入框的唯一标识为:fieldid=“password”;

密码输入框的高度:height=“40”;

密码输入框的宽度:width=“200”;

本实施例中具体的,控件获取密码输入框相对于终端屏幕的位置具体为:控件获取密码输入框左上角顶点相对于其所在当前页面左上角顶点的第一横向距离和第一纵向距离,获取密码输入框所在当前页面左上角顶点至终端屏幕左下角顶点的高度,根据第一横向距离、第一纵向距离、密码输入框所在当前页面左上角顶点至终端屏幕左下角顶点的高度,得到密码输入框左上角顶点相对于终端屏幕左下角顶点的位置。

具体地,根据第一横向距离、第一纵向距离,及其所在当前页面左上角顶点至终端屏幕左下角顶点的高度,得到密码输入框左上角顶点相对于终端屏幕左下角顶点的位置,具体为:

控件获取密码输入框所在当前页面左上角顶点到终端屏幕左上角顶点的横向距离为第二横向距离,并获取密码输入框所在当前页面左上角顶点到终端屏幕左上角顶点的纵向距离为第二纵向距离,根据第一横向距离和第二横向距离得到密码输入框左上角顶点相对于终端屏幕左下角顶点的横向距离,根据第一纵向距离、第二纵向距离、密码输入框所在当前页面左上角顶点至终端屏幕左下角顶点的高度,得到密码输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离。

例如,第一横向距离为x1,第一纵向距离y1;

第二横向距离为x2,第二纵向距离y2;

密码输入框所在当前页面左上角顶点至终端屏幕左下角顶点的高度为h1;

密码输入框左上角顶点相对于终端屏幕左下角顶点的横向距离为:x=x1+x2;

密码输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离为:y=h1-y1-y2;

控件获取密码输入框相对于终端屏幕的位置为(x,y)。

具体地,根据密码输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体为:根据密码输入框所在浏览器页面的唯一标识,密码输入框的唯一标识,密码输入框的高度和宽度,密码输入框相对于终端屏幕的位置组织成第一数据;

例如,第一数据包为:urlstr=[[nsstringalloc]initwithformat:@"cn.com.bcm.bcmeditapp://bcmopensafeinput&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@",guid,fieldid,posx,posy,width,height,ispassword,minlength,maxlength,rule,uniqueid,keyname,edittype,setkey]。

步骤s408、控件调用接口函数将第一数据发送给控件对应的应用程序;

本实施例中具体的,接口函数为openurl;

例如:控件调用接口函数将第一数据发送给控件对应的应用程序具体为:nsurl*url=[nsurlurlwithstring:urlstr];

[[nsworkspacesharedworkspace]openurl:url]。

步骤s409、应用程序根据第一数据获取密码输入框所在浏览器页面的唯一标识、密码输入框的唯一标识、密码输入框相对于终端屏幕的位置、以及密码输入框的高度和宽度;

步骤s410、应用程序根据获取的信息在密码输入框原有位置上生成与密码输入框的高度和宽度一样的新的输入框;

步骤s411、应用程序通过新的输入框接收用户输入的密码信息;

例如,输入的密码为123456;

步骤s412、应用程序将通过新的输入框接收到的用户输入的密码进行加密处理,得到密文信息进行保存,在新的输入框中显示预设符号;

具体地,应用程序对接收到每一个字节依次进行加密,并将加密得到的数据进行顺序拼接保存;

例如,用户输入1,应用程序将1进行加密,用户输入2,应用程序将2进行加密,以此类推,最后将加密得到的1的密文、2的密文……顺序拼接保存;

本实施例中,可选地,在新的输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”。

步骤s413、浏览器接收用户对验证码输入框的点击操作,接收用户输入验证码,并接收用户对页面登录按钮的点击操作;

步骤s414、浏览器创建当前操作的事件名称;

具体地,创建的事件名称为"doevent";

步骤s415、控件通过监听函数监听到浏览器创建的事件名称;

具体地,监听函数为:"document.addeventlistener";

事件名称为"doevent";

步骤s416、控件获取密码输入框的属性,根据密码输入框的属性组织生成第二数据;

本实施例中具体的,控件获取密码输入框的属性具体为:密码输入框所在浏览器页面的唯一标识、密码输入框的唯一标识;

控件组织生成第二数据包具体为:控件根据密码输入框所在浏览器页面的唯一标识、密码输入框的唯一标识组织成第二数据包;

例如:第二数据包为:urlstr=[[nsstringalloc]initwithformat:@"cn.com.bcm.bcmeditapp://closeapp&%@",guid]。

步骤s417、控件调用接口函数将第二数据包发送给控件对应的应用程序;

本实施例中具体的,接口函数为openurl;

例如:控件调用接口函数将第二数据包发送给控件对应的应用程序具体为:nsurl*url=[nsurlurlwithstring:urlstr];

[[nsworkspacesharedworkspace]openurl:url]。

步骤s418、应用程序根据第二数据获取密码输入框的属性,根据密码输入框的属性将生成的新的输入框进行隐藏;

步骤s419、应用程序在浏览器页面密码输入框中显示预设符号;

本实施例中,可选地,在密码输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”。

步骤s420、应用程序根据密码输入框的属性将保存的密文信息发送给控件;

步骤s21、控件将密文信息发送给浏览器。

本实施例中具体的,浏览器接收到用户发送的密文信息后,将密文信息发送给浏览器对应的服务器进行验证。

实施例4

本实施例4提供的一种应用于mac平台的安全输入系统,如图4所示,该系统100包括控件10和应用程序20;

在本实施例中,具体地,控件包括监听模块11,第一获取模块12,第一生成模块13,第一发送模块14;

其中,监听模块11,用于控件被浏览器加载后,监听用户对浏览器页面的特定输入框进行的操作事件;

其中,第一获取模块12,用于当监听模块11监听到获取输入框焦点事件时,获取特定输入框的属性和特定输入框相对于终端屏幕的位置;还用于当监听模块11监听到失去输入框焦点事件时,获取特定输入框的属性;

其中,第一生成模块13,用于根据第一获取模块12获取的特定输入框的属性和相对于终端屏幕的位置组织生成第一数据;还用于根据第一获取模块12获取的特定输入框的属性组织生成第二数据;

其中,第一发送模块14,用于将第一生成模块13生成的第一数据发送给应用程序;还用于将第一生成模块13生成的第二数据发送给应用程序;

在本实施例中,具体地,应用程序包括等待接收模块21,第二获取模块22,第二生成模块23,隐藏模块24;

其中,等待接收模块21,用于等待接收数据;

其中,第二获取模块22,用于根据等待接收模块21接收到的第一数据获取特定输入框的属性和相对于终端屏幕的位置;还用于根据等待接收模块21接收到的第二数据获取特定输入框的属性;

其中,第二生成模块23,用于根据第二获取模块22获取的特定输入框的属性和相对于终端屏幕的位置生成第一输入框覆盖特定输入框;

其中,等待接收模块21,还用于通过第二生成模块23生成的第一输入框等待接收用户输入的信息;

其中,隐藏模块24,用于根据第二获取模块22从第二数据获取的特定输入框的属性隐藏第二生成模块23生成的第一输入框。

可选地,第一获取模块12用于获取特定输入框相对于终端屏幕的位置时,第一获取模块12具体用于:获取特定输入框左上角顶点相对于其所在浏览器页面左上角顶点的第一横向距离和第一纵向距离,获取浏览器页面左上角顶点至终端屏幕左下角顶点的高度,根据第一横向距离、第一纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离和纵向距离。

可选地,第一获取模块12具体用于:获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的横向距离为第二横向距离,并获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的纵向距离为第二纵向距离,根据第一横向距离和第二横向距离得到特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离,根据第一纵向距离、第二纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离。

可选地,第一获取模块12,还用于:当监听模块11监听到获取输入框焦点事件时,获取第一预设字段;

第一生成模块13,用于根据第一获取模块12获取的特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体用于根据第一获取模块12获取的特定输入框的属性、相对于终端屏幕的位置和第一预设字段组织生成第一数据。

可选地,特定输入框的属性包括:特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框的高度和宽度;

第一生成模块13,用于根据所述第一获取模块12获取的所述特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体用于根据特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框的高度和宽度、特定输入框相对于终端屏幕的位置以及第一预设字段组织生成第一数据。

可选地,第一获取模块12,还用于:当监听模块11监听到失去输入框焦点事件时,获取第二预设字段;

第一生成模块13,用于根据所述第一获取模块12获取的所述特定输入框的属性组织生成第二数据,具体用于根据第一获取模块12获取的特定输入框的属性和第二预设字段组织生成第二数据。

可选地,特定输入框的属性包括:特定输入框所在浏览器页面的唯一标识和特定输入框的唯一标识;

第一生成模块13,用于根据所述第一获取模块12获取的所述特定输入框的属性组织生成第二数据,具体用于根据第一获取模块12获取的特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识和第二预设字段组织生成第二数据。

可选地,应用程序还包括解析模块和确定模块;

解析模块,用于解析等待接收模块21接收到的数据,根据解析得到的数据获取预设字段;

确定模块,用于根据解析模块获取到的预设字段确定数据类别,当预设字段为第一预设字段时,接收到的数据为第一数据,当预设字段为第二预设字段时,接收到的数据为第二数据。

可选地,第二获取模块22,用于根据所述等待接收模块21接收到的所述第一数据获取所述特定输入框的属性和相对于终端屏幕的位置,具体用于根据等待接收模块21接收到的第一数据获取特定输入框所在浏览器页面的唯一标识,特定输入框的唯一标识,特定输入框的高度和宽度;

第二生成模块23,具体用于根据第二获取模块22获取到的特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识,特定输入框相对于终端屏幕的位置,以及特定输入框的高度和宽度,在特定输入框原有位置上生成与特定输入框高度和宽度相同的第一输入框。

可选地,应用程序还包括加密处理模块和显示模块,

加密处理模块,用于等待接收模块21接收到用户输入的信息时,将用户输入的信息进行加密保存;

显示模块,用于在第二生成模块23生成的第一输入框中显示与用户输入的信息的字节长度对应的预设符号。

可选地,应用程序还包括查询模块;

查询模块,用于根据第二获取模块22获取的特定输入框的唯一标识和特定输入框所在浏览器页面的唯一标识,查询是否有对应的加密数据;

显示模块,还用于当查询模块查询到有加密数据时,在生成的第一输入框中显示加密数据的字节长度对应的预设符号。

可选地,显示模块,还用于隐藏模块24隐藏第二生成模块23生成的第一输入框时,在特定输入框中显示与用户输入的信息的字节长度对应的预设符号。

可选地,应用程序还包括第二发送模块;

第二发送模块,用于将加密处理模块加密处理得到的用户输入信息的密文信息发送给控件。

本发明通过浏览器加载控件,从而通过控件监听浏览器页面进行的操作事件,当控件监听到操作事件时,控件通知应用程序对当前事件做出响应。通过本发明控件能够通过应用程序对用户输入的信息进行拦截并做加密处理,保证了用户输入信息的安全性,从而保证了用户的利益。通过采用本发明中所述的控件能够对用户输入的信息进行拦截并做加密处理,保证了用户输入信息的安全性,从而保证了用户的利益,此外本发明实现的安全输入方法稳定性高,提高了平台兼容性。

以上对本发明所提供的一种软件保护方法及平台进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1