本发明涉及计算机,尤其涉及一种数据操作限制方法、装置、设备及存储介质。
背景技术:
1、如今,企业的运营往往依赖于各种软件系统,而在软件系统的测试环境及生产环境中,数据操作语句(sql语句)的执行往往具备较大的风险,异常的sql语句被执行会导致数据的污染或丢失,而外部的攻击、开发运维人员的误操作以及软件代码的未预期执行,都可能会导致异常的sql语句被执行,从而使得企业产生重大的损失。
2、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供一种数据操作限制方法、装置、设备及存储介质,旨在解决如何避免异常的数据操作语句被执行的技术问题。
2、为实现上述目的,本发明提供了一种数据操作限制方法,所述方法包括以下步骤:
3、在接收到用户终端发送向目标数据库的数据修改请求时,提取所述数据修改请求中的数据操作语句;
4、将所述数据操作语句与若干条预设语句过滤规则进行匹配;
5、在所述数据操作语句满足一预设语句过滤规则时,丢弃所述数据修改请求。
6、可选的,所述将所述数据操作语句与若干条预设语句过滤规则进行匹配的步骤,包括:
7、获取若干条预设语句过滤规则及各预设语句过滤规则对应的规则优先级;
8、根据所述规则优先级对所述预设语句过滤规则进行排序,获得规则序列;
9、基于所述规则序列将所述数据操作语句与所述若干条预设语句过滤规则进行匹配。
10、可选的,所述基于所述规则序列将所述数据操作语句与所述若干条预设语句过滤规则进行匹配的步骤,包括:
11、对所述规则序列进行遍历,将遍历得到的预设语句过滤规则作为当前语句过滤规则;
12、获取所述当前语句过滤规则对应的匹配数据类型;
13、根据所述匹配数据类型从所述数据操作语句中提取待匹配数据;
14、将所述待匹配数据与所述当前语句过滤规则进行匹配;
15、在所述待匹配数据满足所述当前语句过滤规则时,结束遍历,并判定所述数据操作语句满足一预设语句过滤规则。
16、可选的,所述将所述数据操作语句与若干条预设语句过滤规则进行匹配的步骤之后,还包括:
17、在所述数据操作语句不满足所述若干条预设语句过滤规则时,将所述数据操作语句发送至所述目标数据库,以使所述目标数据库执行所述数据操作语句;
18、获取所述目标数据库反馈的语句执行结果,并将所述语句执行结果发送至所述用户终端。
19、可选的,所述在所述数据操作语句不满足所述若干条预设语句过滤规则时,将所述数据操作语句发送至所述目标数据库,以使所述目标数据库执行所述数据操作语句的步骤,包括:
20、在所述数据操作语句不满足所述若干条预设语句过滤规则时,根据所述数据修改请求确定当前终端用户;
21、获取所述当前终端用户对应的数据修改阈值;
22、确定所述数据操作语句对应的目标数据数量;
23、在所述目标数据数量小于或等于所述数据修改阈值时,将所述数据操作语句发送至所述目标数据库,以使所述目标数据库执行所述数据操作语句。
24、可选的,所述确定所述数据操作语句对应的目标数据数量的步骤,包括:
25、提取所述数据操作语句对应的数据限定条件;
26、根据所述数据限定条件构建数量查询语句;
27、将所述数量查询语句发送至所述目标数据库,以使所述目标数据库执行所述数量查询语句并反馈所述数据操作语句对应的目标数据数量。
28、可选的,所述确定所述数据操作语句对应的目标数据数量的步骤之后,还包括:
29、在所述目标数据数量大于所述数据修改阈值时,丢弃所述数据修改请求;
30、根据所述目标数据数量、所述数据修改阈值及预设提示模板生成超限提示信息;
31、将所述超限提示信息发送至所述用户终端。
32、可选的,所述将所述数据操作语句与若干条预设语句过滤规则进行匹配的步骤之前,还包括:
33、根据所述数据修改请求确定当前终端用户;
34、获取所述当前终端用户对应的数据操作级别;
35、根据所述数据操作级别在预设过滤规则库中查找对应的若干条预设语句过滤规则。
36、可选的,所述根据所述数据操作级别在预设过滤规则库中查找对应的若干条预设语句过滤规则的步骤之前,还包括:
37、获取所述目标数据库对应的数据库类型;
38、相应的,所述根据所述数据操作级别在预设过滤规则库中查找对应的若干条预设语句过滤规则的步骤,包括:
39、根据所述数据库类型及所述数据操作级别在预设过滤规则库中查找对应的若干条预设语句过滤规则。
40、可选的,所述根据所述数据操作级别在预设过滤规则库中查找对应的若干条预设语句过滤规则的步骤之前,还包括:
41、获取所述目标数据库对应的数据库标识信息;
42、相应的,所述根据所述数据操作级别在预设过滤规则库中查找对应的若干条预设语句过滤规则的步骤,包括:
43、根据所述数据操作级别及所述数据库标识信息在预设过滤规则库中查找对应的若干条预设语句过滤规则。
44、可选的,所述在接收到用户终端发送向目标数据库的数据修改请求时,提取所述数据修改请求中的数据操作语句的步骤,包括:
45、在接收到用户终端发送向目标数据库的数据修改请求时,根据所述数据修改请求确定当前终端用户;
46、获取所述当前终端用户对应的用户访问权限,根据所述用户访问权限确定所述当前终端用户是否具备访问所述目标数据库的权限;
47、若是,则提取所述数据修改请求中的数据操作语句。
48、可选的,所述在所述数据操作语句满足预设语句过滤规则时,丢弃所述数据修改请求的步骤之后,还包括:
49、获取被满足的预设语句过滤规则对应的规则标识;
50、根据所述规则标识在预设提示信息表中查找对应的异常提示信息;
51、将所述异常提示信息发送至所述用户终端。
52、此外,为实现上述目的,本发明还提出一种数据操作限制装置,所述数据操作限制装置包括以下模块:
53、数据接收模块,用于在接收到用户终端发送向目标数据库的数据修改请求时,提取所述数据修改请求中的数据操作语句;
54、规则匹配模块,用于将所述数据操作语句与若干条预设语句过滤规则进行匹配;
55、数据处理模块,用于在所述数据操作语句满足一预设语句过滤规则时,丢弃所述数据修改请求。
56、可选的,所述规则匹配模块,还用于获取若干条预设语句过滤规则及各预设语句过滤规则对应的规则优先级;根据所述规则优先级对所述预设语句过滤规则进行排序,获得规则序列;基于所述规则序列将所述数据操作语句与所述若干条预设语句过滤规则进行匹配。
57、可选的,所述规则匹配模块,还用于对所述规则序列进行遍历,将遍历得到的预设语句过滤规则作为当前语句过滤规则;获取所述当前语句过滤规则对应的匹配数据类型;根据所述匹配数据类型从所述数据操作语句中提取待匹配数据;将所述待匹配数据与所述当前语句过滤规则进行匹配;在所述待匹配数据满足所述当前语句过滤规则时,结束遍历,并判定所述数据操作语句满足一预设语句过滤规则。
58、可选的,所述规则匹配模块,还用于在所述数据操作语句不满足所述若干条预设语句过滤规则时,将所述数据操作语句发送至所述目标数据库,以使所述目标数据库执行所述数据操作语句;获取所述目标数据库反馈的语句执行结果,并将所述语句执行结果发送至所述用户终端。
59、可选的,所述规则匹配模块,还用于在所述数据操作语句不满足所述若干条预设语句过滤规则时,根据所述数据修改请求确定当前终端用户;获取所述当前终端用户对应的数据修改阈值;确定所述数据操作语句对应的目标数据数量;在所述目标数据数量小于或等于所述数据修改阈值时,将所述数据操作语句发送至所述目标数据库,以使所述目标数据库执行所述数据操作语句。
60、可选的,所述规则匹配模块,还用于提取所述数据操作语句对应的数据限定条件;根据所述数据限定条件构建数量查询语句;将所述数量查询语句发送至所述目标数据库,以使所述目标数据库执行所述数量查询语句并反馈所述数据操作语句对应的目标数据数量。
61、此外,为实现上述目的,本发明还提出一种数据操作限制设备,所述数据操作限制设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据操作限制程序,所述数据操作限制程序被处理器执行时实现如上所述的数据操作限制方法的步骤。
62、此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据操作限制程序,所述数据操作限制程序执行时实现如上所述的数据操作限制方法的步骤。
63、本发明通过在接收到用户终端发送向目标数据库的数据修改请求时,提取数据修改请求中的数据操作语句;将数据操作语句与若干条预设语句过滤规则进行匹配;在数据操作语句满足一预设语句过滤规则时,丢弃数据修改请求。由于预设语句过滤规则是预先设置的用于区分异常数据操作语句的匹配规则,在接收到数据修改请求时提取数据修改请求中的数据操作语句,通过将其与异常数据操作语句进行匹配,可以确定数据操作语句是否为异常的数据操作语句,并在数据操作语句满足一预设语句过滤规则时丢弃该数据修改请求,避免了异常的数据操作语句被执行。