CN111143867A - 一种应用于Mac平台的安全输入方法及系统 - Google Patents

一种应用于Mac平台的安全输入方法及系统 Download PDF

Info

Publication number
CN111143867A
CN111143867A CN201911385175.8A CN201911385175A CN111143867A CN 111143867 A CN111143867 A CN 111143867A CN 201911385175 A CN201911385175 A CN 201911385175A CN 111143867 A CN111143867 A CN 111143867A
Authority
CN
China
Prior art keywords
input box
specific input
module
data
left corner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911385175.8A
Other languages
English (en)
Other versions
CN111143867B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201911385175.8A priority Critical patent/CN111143867B/zh
Publication of CN111143867A publication Critical patent/CN111143867A/zh
Application granted granted Critical
Publication of CN111143867B publication Critical patent/CN111143867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种应用于Mac平台的安全输入方法及系统,属于计算机网络技术领域。其中,该方法包括:控件执行过程和应用程序执行过程;本发明通过控件监听浏览器页面进行的操作事件,当控件监听到操作事件时,控件向应用程序发送相应的数据,应用程序根据接收到的数据对当前事件做出响应。通过本发明能够在Mac平台上利用控件通过应用程序对用户输入的信息进行拦截并通过应用程序安全输入,保证了用户输入信息的安全性,从而保证了用户的利益。

Description

一种应用于Mac平台的安全输入方法及系统
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种应用于Mac平台的安全输入方法及系统。
背景技术
网景插件应用程序编程接口(NPAPI,Netscape Plugin ApplicationProgramming Interface)是Netscape Navigator、Mozilla Suite、Mozilla SeaMonkey和Mozilla Firefox等Gecko引擎浏览器与Apple Safari和Google Chrome等webkit引擎浏览器所使用的类似ActiveX的插件接口。现有技术中,浏览器安全输入控件是基于NPAPI技术开发的,然而伴随着浏览器和网页的迅猛发展,由于NPAPI插件存在着性能、崩溃等问题,对于用户来说存在潜在的安全隐患,因此谷歌、微软等已经宣布放弃对NPAPI插件的支持和使用。苹果计算机的操作平台macOS中的浏览器Safari 12以上的版本也不再支持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=[[NSString alloc]initWithFormat:@"cn.com.bcm.BCMEditApp://bcmOpenSafeInput&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@",guid,fieldID,posX,posY,width,height,isPassword,minLength,maxLength,rule,UniqueID,keyName,edittype,setkey]。
本实施例中具体的,对应用程序执行第一操作具体为:控件打开应用程序,或者控件触发应用程序;
可选地,控件通过平台接口函数打开或触发应用程,接口函数为openURL;
例如:控件调用接口函数将第一数据包发送给控件对应的应用程序具体为:NSURL*url=[NSURL URLWithString:urlStr];
[[NSWorkspace sharedWorkspace]openURL:url]。
在本实施例中,当监听到失去输入框焦点事件时,还包括:控件获取第二预设字段;
可选地,根据特定输入框的属性组织生成第二数据,具体为:控件根据特定输入框的属性和第二预设字段组织生成第二数据;
例如:第二数据为:urlStr=[[NSString alloc]initWithFormat:@"cn.com.bcm.BCMEditApp://closeApp&%@",guid]。
控件调用接口函数将第二数据发送给控件对应的应用程序;
本实施例中具体的,接口函数为openURL;
例如:控件调用接口函数将第二数据包发送给控件对应的应用程序具体为:NSURL*url=[NSURL URLWithString:urlStr];
[[NSWorkspace sharedWorkspace]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=[[NSString alloc]initWithFormat:@"cn.com.bcm.BCMEditApp://bcmOpenSafeInput&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@",guid,fieldID,posX,posY,width,height,isPassword,minLength,maxLength,rule,UniqueID,keyName,edittype,setkey]。
步骤S307、控件调用接口函数将第一数据发送给控件对应的应用程序;
本实施例中具体的,接口函数为openURL;
例如:控件调用接口函数将第一数据发送给控件对应的应用程序具体为:NSURL*url=[NSURL URLWithString:urlStr];
[[NSWorkspace sharedWorkspace]openURL:url]。
步骤S308、应用程序根据第一数据获取特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框相对于终端屏幕的位置、以及特定输入框的高度和宽度;
步骤S309、应用程序根据获取的信息在特定输入框原有位置上生成与特定输入框高度和宽度相同的第一输入框。
在本实施例中,可选地,步骤S309之后还包括:
步骤S310、用户在应用程序生成的第一输入框中输入密码信息;
步骤S311、应用程序将对用户输入的信息进行加密保存,并在第一输入框中显示预设符号;
可选地,应用程序将对用户输入的信息进行加密保存具体为:应用程序根据预置的加密密钥对用户输入的一个字节进行加密处理;
其中,预置的加密密钥是应用程序与浏览器请求的服务器预先协商好的;
在本实施例中,为了保证用户信息的安全,应用程序只存储对用户输入的信息进行加密后的数据,不存储明文信息;
可选地,在第一输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”;
例如,用户输入“123”,第一输入框显示“***”。
在本实施例中,可选地,步骤S311之后还包括:
步骤S312、浏览器接收用户对特定输入框所在页面空白处的点击操作;
步骤S313、浏览器创建当前操作的事件名称;
具体地,创建的事件名称为"DoEvent";
步骤S314、控件通过监听函数监听到浏览器创建的事件名称,
具体地,监听函数为:"document.addEventListener";
事件名称为"DoEvent";
步骤S315、控件获取特定输入框的属性,根据特定输入框的属性组织生成第二数据包;
本实施例中具体的,控件获取特定输入框的属性具体为:特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识;
控件组织生成第二数据包具体为:控件根据特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识组织成第二数据包;
例如:第二数据包为:urlStr=[[NSString alloc]initWithFormat:@"cn.com.bcm.BCMEditApp://closeApp&%@",guid]。
步骤S316、控件调用接口函数将第二数据包发送给控件对应的应用程序;
本实施例中具体的,接口函数为openURL;
例如:控件调用接口函数将第二数据包发送给控件对应的应用程序具体为:NSURL*url=[NSURL URLWithString:urlStr];
[[NSWorkspace sharedWorkspace]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=[[NSString alloc]initWithFormat:@"cn.com.bcm.BCMEditApp://bcmOpenSafeInput&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@&%@",guid,fieldID,posX,posY,width,height,isPassword,minLength,maxLength,rule,UniqueID,keyName,edittype,setkey]。
步骤S408、控件调用接口函数将第一数据发送给控件对应的应用程序;
本实施例中具体的,接口函数为openURL;
例如:控件调用接口函数将第一数据发送给控件对应的应用程序具体为:NSURL*url=[NSURL URLWithString:urlStr];
[[NSWorkspace sharedWorkspace]openURL:url]。
步骤S409、应用程序根据第一数据获取密码输入框所在浏览器页面的唯一标识、密码输入框的唯一标识、密码输入框相对于终端屏幕的位置、以及密码输入框的高度和宽度;
步骤S410、应用程序根据获取的信息在密码输入框原有位置上生成与密码输入框的高度和宽度一样的新的输入框;
步骤S411、应用程序通过新的输入框接收用户输入的密码信息;
例如,输入的密码为123456;
步骤S412、应用程序将通过新的输入框接收到的用户输入的密码进行加密处理,得到密文信息进行保存,在新的输入框中显示预设符号;
具体地,应用程序对接收到每一个字节依次进行加密,并将加密得到的数据进行顺序拼接保存;
例如,用户输入1,应用程序将1进行加密,用户输入2,应用程序将2进行加密,以此类推,最后将加密得到的1的密文、2的密文……顺序拼接保存;
本实施例中,可选地,在新的输入框中显示的预设符号的数量与用户输入信息的字节相同;预设符号可以是“*”或者“·”。
步骤S413、浏览器接收用户对验证码输入框的点击操作,接收用户输入验证码,并接收用户对页面登录按钮的点击操作;
步骤S414、浏览器创建当前操作的事件名称;
具体地,创建的事件名称为"DoEvent";
步骤S415、控件通过监听函数监听到浏览器创建的事件名称;
具体地,监听函数为:"document.addEventListener";
事件名称为"DoEvent";
步骤S416、控件获取密码输入框的属性,根据密码输入框的属性组织生成第二数据;
本实施例中具体的,控件获取密码输入框的属性具体为:密码输入框所在浏览器页面的唯一标识、密码输入框的唯一标识;
控件组织生成第二数据包具体为:控件根据密码输入框所在浏览器页面的唯一标识、密码输入框的唯一标识组织成第二数据包;
例如:第二数据包为:urlStr=[[NSString alloc]initWithFormat:@"cn.com.bcm.BCMEditApp://closeApp&%@",guid]。
步骤S417、控件调用接口函数将第二数据包发送给控件对应的应用程序;
本实施例中具体的,接口函数为openURL;
例如:控件调用接口函数将第二数据包发送给控件对应的应用程序具体为:NSURL*url=[NSURL URLWithString:urlStr];
[[NSWorkspace sharedWorkspace]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生成的第一输入框时,在特定输入框中显示与用户输入的信息的字节长度对应的预设符号。
可选地,应用程序还包括第二发送模块;
第二发送模块,用于将加密处理模块加密处理得到的用户输入信息的密文信息发送给控件。
本发明通过浏览器加载控件,从而通过控件监听浏览器页面进行的操作事件,当控件监听到操作事件时,控件通知应用程序对当前事件做出响应。通过本发明控件能够通过应用程序对用户输入的信息进行拦截并做加密处理,保证了用户输入信息的安全性,从而保证了用户的利益。通过采用本发明中所述的控件能够对用户输入的信息进行拦截并做加密处理,保证了用户输入信息的安全性,从而保证了用户的利益,此外本发明实现的安全输入方法稳定性高,提高了平台兼容性。
以上对本发明所提供的一种软件保护方法及平台进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (26)

1.一种应用于Mac平台的安全输入方法,其特征在于,所述方法包括控件执行过程和应用程序执行过程;
所述控件执行过程包括:
步骤A1、控件被浏览器加载后,监听用户对浏览器页面的特定输入框进行的操作事件,当监听到获取输入框焦点事件时,执行步骤A2,当监听到失去输入框焦点事件时,执行步骤A3;
步骤A2、所述控件获取所述特定输入框的属性,获取所述特定输入框相对于终端屏幕的位置,根据所述特定输入框的属性、相对于终端屏幕的位置组织生成第一数据,并将所述第一数据发送给应用程序,返回步骤A1;
步骤A3、所述控件获取所述特定输入框的属性,根据所述特定输入框的属性组织生成第二数据,并将所述第二数据发送给所述应用程序,返回步骤A1;
所述应用程序执行过程包括:
步骤B1、所述应用程序等待接收数据,当接收到第一数据时执行步骤B2,当接收到第二数据时执行步骤B3;
步骤B2、所述应用程序根据所述第一数据获取所述特定输入框的属性,获取相对于终端屏幕的位置,根据获取的所述特定输入框的属性和相对于终端屏幕的位置生成第一输入框并覆盖特定输入框,通过所述第一输入框接收用户输入的信息;
步骤B3、所述应用程序根据所述第二数据获取所述特定输入框的属性,根据所述特定输入框的属性隐藏所述第一输入框。
2.根据权利要求1所述的方法,其特征在于,所述步骤A2中,所述控件获取所述特定输入框相对于终端屏幕的位置具体为:
所述控件获取所述特定输入框左上角顶点相对于其所在浏览器页面左上角顶点的第一横向距离和第一纵向距离,获取所述浏览器页面左上角顶点至终端屏幕左下角顶点的高度,根据所述第一横向距离、所述第一纵向距离、所述特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到所述特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离和纵向距离。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一横向距离、所述第一纵向距离,所述特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到所述特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离和纵向距离,具体为:
所述控件获取所述特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的横向距离为第二横向距离,并获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的纵向距离为第二纵向距离,根据第一横向距离和第二横向距离得到特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离,根据第一纵向距离、第二纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离。
4.根据权利要求1所述的方法,其特征在于,当监听到获取输入框焦点事件时,所述方法还包括:所述控件获取第一预设字段;
所述根据所述特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体为:所述控件根据所述特定输入框的属性、相对于终端屏幕的位置和所述第一预设字段组织生成第一数据。
5.根据权利要求4所述的方法,其特征在于,步骤A2中,所述特定输入框的属性包括:所述特定输入框所在浏览器页面的唯一标识、所述特定输入框的唯一标识、所述特定输入框的高度和宽度;
所述控件根据所述特定输入框的属性、相对于终端屏幕的位置和所述第一预设字段组织生成第一数据,具体为:所述控件根据所述特定输入框所在浏览器页面的唯一标识、所述特定输入框的唯一标识、所述特定输入框的高度和宽度、所述特定输入框相对于终端屏幕的位置以及所述第一预设字段组织生成第一数据。
6.根据权利要求1所述的方法,其特征在于,当监听到失去输入框焦点事件时,所述方法还包括:所述控件获取第二预设字段;
所述根据所述特定输入框的属性组织生成第二数据,具体为:所述控件根据所述特定输入框的属性和所述第二预设字段组织生成第二数据。
7.根据权利要求6所述的方法,其特征在于,步骤A3中,所述特定输入框的属性包括:所述特定输入框所在浏览器页面的唯一标识和所述特定输入框的唯一标识;
所述根据所述特定输入框的属性和所述第二预设字段组织生成第二数据,具体为:所述控件根据所述特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识和所述第二预设字段组织生成第二数据。
8.根据权利要求4或6所述的方法,其特征在于,当应用程序接收到数据后还包括:所述应用程序解析数据,根据解析得到的数据获取预设字段,根据所述预设字段确定数据类别,当所述预设字段为第一预设字段时,所述接收到的数据为第一数据,当所述预设字段为第二预设字段时,所述接收到的数据为第二数据。
9.根据权利要求1所述的方法,其特征在于,所述应用程序根据所述第一数据获取所述特定输入框的属性具体为:所述应用程序根据所述第一数据获取所述特定输入框所在浏览器页面的唯一标识、所述特定输入框的唯一标识、所述特定输入框的高度和宽度;
所述根据获取的所述特定输入框的属性和相对于终端屏幕的位置生成第一输入框,具体为:根据所述特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识、特定输入框相对于终端屏幕的位置,以及特定输入框的高度和宽度,在特定输入框原有位置上生成与特定输入框高度和宽度相同的第一输入框。
10.根据权利要求1所述的方法,其特征在于,所述步骤B2还包括:当接收到用户输入的信息时,所述应用程序将所述用户输入的信息进行加密保存,并在生成的第一输入框中显示与用户输入的信息的字节长度对应的预设符号。
11.根据权利要求10所述的方法,其特征在于,所述应用程序根据获取的所述特定输入框的属性和相对于终端屏幕的位置生成第一输入框并覆盖特定输入框之后还包括:
所述应用程序根据获取的特定输入框的唯一标识和特定输入框所在浏览器页面的唯一标识,查询是否有对应的加密数据,当查询到有加密数据时,在生成的第一输入框中显示加密数据的字节长度对应的预设符号。
12.根据权利要求10所述的方法,其特征在于,所述根据所述特定输入框的属性隐藏所述第一输入框之后还包括:所述应用程序在特定输入框中显示与用户输入的信息的字节长度对应的预设符号。
13.根据权利要求12所述的方法,其特征在于,所述根据所述特定输入框的属性隐藏所述第一输入框之后还包括:所述应用程序将加密处理得到的用户输入信息的密文信息发送给控件。
14.一种应用于Mac平台的安全输入系统,其特征在于,所述系统包括控件和应用程序;
所述控件包括监听模块,第一获取模块,第一生成模块,第一发送模块;
所述监听模块,用于所述控件被浏览器加载后,监听用户对浏览器页面的特定输入框进行的操作事件;
所述第一获取模块,用于当所述监听模块监听到获取输入框焦点事件时,获取所述特定输入框的属性和所述特定输入框相对于终端屏幕的位置;还用于当所述监听模块监听到失去输入框焦点事件时,获取所述特定输入框的属性;
所述第一生成模块,用于根据所述第一获取模块获取的所述特定输入框的属性和相对于终端屏幕的位置组织生成第一数据;还用于根据所述第一获取模块获取的所述特定输入框的属性组织生成第二数据;
所述第一发送模块,用于将所述第一生成模块生成的所述第一数据发送给应用程序;还用于将所述第一生成模块生成的所述第二数据发送给应用程序;
所述应用程序包括等待接收模块,第二获取模块,第二生成模块,隐藏模块;
所述等待接收模块,用于等待接收数据;
所述第二获取模块,用于根据所述等待接收模块接收到的所述第一数据获取所述特定输入框的属性和相对于终端屏幕的位置;还用于根据所述等待接收模块接收到的所述第二数据获取所述特定输入框的属性;
所述第二生成模块,用于根据所述第二获取模块获取的所述特定输入框的属性和相对于终端屏幕的位置生成第一输入框并覆盖所述特定输入框;
所述等待接收模块,还用于通过所述第二生成模块生成的第一输入框等待接收用户输入的信息;
所述隐藏模块,用于根据所述第二获取模块从所述第二数据获取的所述特定输入框的属性隐藏所述第二生成模块生成的所述第一输入框。
15.根据权利要求14所述的系统,其特征在于,所述第一获取模块用于获取所述特定输入框相对于终端屏幕的位置时,所述第一获取模块具体用于:获取所述特定输入框左上角顶点相对于其所在浏览器页面左上角顶点的第一横向距离和第一纵向距离,获取所述浏览器页面左上角顶点至终端屏幕左下角顶点的高度,根据所述第一横向距离、所述第一纵向距离、所述特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到所述特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离和纵向距离。
16.根据权利要求15所述的系统,其特征在于,所述第一获取模块具体用于:获取所述特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的横向距离为第二横向距离,并获取特定输入框所在浏览器页面左上角顶点到终端屏幕左上角顶点的纵向距离为第二纵向距离,根据第一横向距离和第二横向距离得到特定输入框左上角顶点相对于终端屏幕左下角顶点的横向距离,根据第一纵向距离、第二纵向距离、特定输入框所在浏览器页面左上角顶点至终端屏幕左下角顶点的高度,得到特定输入框左上角顶点相对于终端屏幕左下角顶点的纵向距离。
17.根据权利要求14所述的系统,其特征在于,所述第一获取模块,还用于:当所述监听模块监听到获取输入框焦点事件时,获取第一预设字段;
所述第一生成模块,用于根据所述第一获取模块获取的所述特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体用于根据所述第一获取模块获取的所述特定输入框的属性、相对于终端屏幕的位置和所述第一预设字段组织生成第一数据。
18.根据权利要求17所述的系统,其特征在于,所述特定输入框的属性包括:所述特定输入框所在浏览器页面的唯一标识、所述特定输入框的唯一标识、所述特定输入框的高度和宽度;
所述第一生成模块,用于根据所述第一获取模块获取的所述特定输入框的属性和相对于终端屏幕的位置组织生成第一数据,具体用于根据所述特定输入框所在浏览器页面的唯一标识、所述特定输入框的唯一标识、所述特定输入框的高度和宽度、所述特定输入框相对于终端屏幕的位置以及所述第一预设字段组织生成第一数据。
19.根据权利要求14所述的系统,其特征在于,所述第一获取模块,还用于:当所述监听模块监听到失去输入框焦点事件时,获取第二预设字段;
所述第一生成模块用于根据所述第一获取模块获取的所述特定输入框的属性组织生成第二数据,具体用于根据所述第一获取模块获取的所述特定输入框的属性和所述第二预设字段组织生成第二数据。
20.根据权利要求19所述的系统,其特征在于,所述特定输入框的属性包括:所述特定输入框所在浏览器页面的唯一标识和所述特定输入框的唯一标识;
所述第一生成模块,用于根据所述第一获取模块获取的所述特定输入框的属性组织生成第二数据,具体用于根据所述第一获取模块获取的所述特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识和所述第二预设字段组织生成第二数据。
21.根据权利要求17或19所述的系统,其特征在于,所述应用程序还包括解析模块和确定模块;
所述解析模块,用于解析所述等待接收模块接收到的数据,根据解析得到的数据获取预设字段;
所述确定模块,用于根据所述解析模块获取到的所述预设字段确定数据类别,当所述预设字段为第一预设字段时,所述接收到的数据为第一数据,当所述预设字段为第二预设字段时,所述接收到的数据为第二数据。
22.根据权利要求14所述的系统,其特征在于,所述第二获取模块,用于根据所述等待接收模块接收到的所述第一数据获取所述特定输入框的属性和相对于终端屏幕的位置,具体用于根据所述等待接收模块接收到的所述第一数据获取所述特定输入框所在浏览器页面的唯一标识、所述特定输入框的唯一标识、所述特定输入框的高度和宽度;
所述第二生成模块,具体用于根据所述第二获取模块获取到的所述特定输入框所在浏览器页面的唯一标识、特定输入框的唯一标识,特定输入框相对于终端屏幕的位置,以及特定输入框的高度和宽度,在特定输入框原有位置上生成与特定输入框高度和宽度相同的第一输入框。
23.根据权利要求14所述的系统,其特征在于,所述应用程序还包括加密处理模块和显示模块,
所述加密处理模块,用于当所述等待接收模块接收到用户输入的信息时,将所述用户输入的信息进行加密保存;
所述显示模块,用于在所述第二生成模块生成的第一输入框中显示与用户输入的信息的字节长度对应的预设符号。
24.根据权利要求23所述的系统,其特征在于,所述应用程序还包括查询模块;
所述查询模块,用于根据所述第二获取模块获取的特定输入框的唯一标识和特定输入框所在浏览器页面的唯一标识,查询是否有对应的加密数据;
所述显示模块,还用于当所述查询模块查询到有加密数据时,在生成的第一输入框中显示加密数据的字节长度对应的预设符号。
25.根据权利要求23所述的系统,其特征在于,所述显示模块,还用于在所述隐藏模块隐藏所述第二生成模块生成的所述第一输入框时,在所述特定输入框中显示与用户输入的信息的字节长度对应的预设符号。
26.根据权利要求25所述的系统,其特征在于,所述应用程序还包括第二发送模块;
所述第二发送模块,用于将所述加密处理模块加密处理得到的用户输入信息的密文信息发送给控件。
CN201911385175.8A 2019-12-28 2019-12-28 一种应用于Mac平台的安全输入方法及系统 Active CN111143867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911385175.8A CN111143867B (zh) 2019-12-28 2019-12-28 一种应用于Mac平台的安全输入方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911385175.8A CN111143867B (zh) 2019-12-28 2019-12-28 一种应用于Mac平台的安全输入方法及系统

Publications (2)

Publication Number Publication Date
CN111143867A true CN111143867A (zh) 2020-05-12
CN111143867B CN111143867B (zh) 2023-01-17

Family

ID=70521396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911385175.8A Active CN111143867B (zh) 2019-12-28 2019-12-28 一种应用于Mac平台的安全输入方法及系统

Country Status (1)

Country Link
CN (1) CN111143867B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092456A (zh) * 2011-10-31 2013-05-08 国际商业机器公司 一种文本框输入方法和系统
CN103348353A (zh) * 2010-10-06 2013-10-09 西里克斯系统公司 基于移动设备的物理位置对资源访问进行中介调节
CN103902057A (zh) * 2014-03-31 2014-07-02 北京搜狗科技发展有限公司 在移动终端设备中进行网页输入的方法及装置
CN104063673A (zh) * 2014-06-20 2014-09-24 北京奇虎科技有限公司 一种在浏览器中进行信息输入的方法和浏览器装置
CN105528132A (zh) * 2014-09-29 2016-04-27 腾讯科技(深圳)有限公司 应用于浏览器的文本输入框显示方法和装置
US20160173481A1 (en) * 2014-12-10 2016-06-16 Infovine Co., Ltd. Convenient Login Method, Apparatus and System for Automatically Detecting and Filling in Login Field within Web Environment or Application
CN106778224A (zh) * 2016-12-29 2017-05-31 Tcl集团股份有限公司 一种密码输入的控制方法及系统、移动终端
CN106873862A (zh) * 2016-08-23 2017-06-20 阿里巴巴集团控股有限公司 一种信息输入方法和装置
CN109634688A (zh) * 2018-12-19 2019-04-16 北京达佳互联信息技术有限公司 会话界面的显示方法、装置、终端及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103348353A (zh) * 2010-10-06 2013-10-09 西里克斯系统公司 基于移动设备的物理位置对资源访问进行中介调节
CN103092456A (zh) * 2011-10-31 2013-05-08 国际商业机器公司 一种文本框输入方法和系统
CN103902057A (zh) * 2014-03-31 2014-07-02 北京搜狗科技发展有限公司 在移动终端设备中进行网页输入的方法及装置
CN104063673A (zh) * 2014-06-20 2014-09-24 北京奇虎科技有限公司 一种在浏览器中进行信息输入的方法和浏览器装置
CN105528132A (zh) * 2014-09-29 2016-04-27 腾讯科技(深圳)有限公司 应用于浏览器的文本输入框显示方法和装置
US20160173481A1 (en) * 2014-12-10 2016-06-16 Infovine Co., Ltd. Convenient Login Method, Apparatus and System for Automatically Detecting and Filling in Login Field within Web Environment or Application
CN106873862A (zh) * 2016-08-23 2017-06-20 阿里巴巴集团控股有限公司 一种信息输入方法和装置
US20190187860A1 (en) * 2016-08-23 2019-06-20 Alibaba Group Holding Limited Information input method and apparatus
CN106778224A (zh) * 2016-12-29 2017-05-31 Tcl集团股份有限公司 一种密码输入的控制方法及系统、移动终端
CN109634688A (zh) * 2018-12-19 2019-04-16 北京达佳互联信息技术有限公司 会话界面的显示方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN111143867B (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US9984047B2 (en) Application page quick access
US20210157938A1 (en) Methods, media, apparatuses and computing devices of user data authorization based on blockchain
EP3382534A1 (en) Page jumping method and apparatus
CN106293365B (zh) 一种获取页面内容的方法及装置
US9727354B2 (en) System and methods for loading an application and its modules in a client device
US20150339479A1 (en) Polymorphic Treatment of Data Entered At Clients
US11553035B2 (en) Cross-platform module for loading across a plurality of device types
TW201820168A (zh) 使用者資訊獲取系統、方法及裝置
US20210004492A1 (en) Data breach prevention and remediation
CN108449187B (zh) 一种令牌刷新的方法及装置
CN110708335A (zh) 访问认证方法、装置及终端设备
WO2016169395A1 (zh) Android平台下的PIN码保护方法
CN112016122A (zh) 网页数据处理方法、装置、计算机设备及存储介质
CN111767109A (zh) 基于终端应用的h5页面显示方法、设备及可读存储介质
CN111143867B (zh) 一种应用于Mac平台的安全输入方法及系统
CN102999580B (zh) 密码输入框元素处理方法及浏览器
CN109684156B (zh) 基于混合模式应用的监控方法、装置、终端及存储介质
US10061686B2 (en) Method, electronic apparatus, system, and storage medium for automated testing of application user interface
CN113948164A (zh) 临床药品管理方法、装置、设备及计算机可读存储介质
CN109462604B (zh) 一种数据传输方法、装置、设备及存储介质
US11716381B2 (en) Exporting data to a cloud-based service
US8291311B2 (en) Web display program conversion system, web display program conversion method and program for converting web display program
CN115470239A (zh) 一种信息查询方法及装置
CN116566707A (zh) 数据访问方法及装置、客户端、服务端
CN114071213A (zh) 机顶盒弹框拦截方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant