---------------------------调用方法 --验证非法字符 isMg := fun_issensitivity(v_arr); if not isMg then v_sendmsg := '很好,你的信息是正常的。'; else v_sendmsg := '对不起,您的信息含有敏感字,请修改后再发!'; end if; ---------------------------中间过程 create or replace function fun_issensitivity(arr in splitlongstr) return boolean is Result boolean; i number; v_mg_msg varchar2(4000); begin i:=1; Result:=false; while (i<=arr.count) loop syn_sp_unlawful(arr(i),v_mg_msg); v_mg_msg:=replace(v_mg_msg,' ',''); if v_mg_msg='0' then null; else Result:=true; exit; end if; i:=i+1; end loop; return(Result); end fun_issensitivity; --------------------------敏感字符判断过程 create or replace procedure sp_unlawful ( in_msg in varchar2, out_msg out varchar2 ) is /* 敏感字符判断过程 */ v_Result varchar2(1024); v_location number; v_word varchar2(1024); v_i number; cursor c_unlawful is select msg from word_unlawful where is_valid=1; begin v_i:=0; open c_unlawful; loop fetch c_unlawful into v_word; exit when c_unlawful%notfound; select instr(in_msg,v_word) into v_location from dual; if v_location>0 then v_i:=v_i+1; v_Result:=v_Result||','||v_word; end if; end loop; close c_unlawful; if v_i>0 then out_msg:=ltrim(v_Result,','); else out_msg:='0'; end if; end sp_unlawful; ------------------------------创建收集的非法字符列表 -- Create table create table WORD_UNLAWFUL ( MSG VARCHAR2(100) not null, IS_VALID NUMBER(1) not null, INS_DATE DATE default sysdate not null ); -----------------------------需要非法字符库的请到附件下载
相关推荐
通过上述详细的分析可以看出,`Func_checkIdcard`函数综合运用了Oracle数据库的各种功能,包括字符串处理、数学运算以及条件判断等,实现了对中国居民身份证号码的有效验证。这个函数不仅能够处理不同长度的身份证...
除了表,Oracle还支持其他多种数据库对象,如视图(View)、索引(Index)、序列(Sequence)、同义词(Synonym)、存储过程(Procedure)和函数(Function)。这些对象丰富了数据库的功能,提高了数据的查询效率和...
在Oracle数据库管理与应用开发过程中,会遇到各种各样的异常情况,这些异常往往会影响到数据处理的准确性以及系统的稳定性。为了更好地理解和处理这些异常,本篇文章将详细介绍Oracle中常见的几种异常及其解决方案。...
为了简化备份过程并提供更友好的用户界面,可以利用 Java 编程语言结合 Oracle JDBC 驱动来实现数据库备份的功能。下面详细介绍该方案的具体实现步骤和技术要点。 #### 三、技术实现思路与流程 1. **构建用户界面*...
在IT领域,尤其是在数据库管理和数据处理中,常常需要验证输入的时间字符串是否符合特定的时间格式,以便正确解析和存储。这个任务可以通过编写一个函数来实现,标题提到的"判定一个字符串是否为有效时间的函数"就是...
本地字符型(NCHAR和NVARCHAR2)用于存储Unicode字符数据,支持多字节字符集。 **4、LOB类型** 大型对象(LOB)类型用于存储大量的文本或二进制数据,包括CLOB、BLOB等。 **5、布尔类型** 尽管标准SQL不支持布尔...
Oracle 数据库提供了一个强大的存储过程语言 PL/SQL,可以让攻击者执行恶意代码,从而获取更多的数据或者更大的权限。 MySQL 利用 MySQL 的信息_schema 注入 MySQL 数据库提供了一个信息_schema 库,包含了数据库的...
防范PL/SQL注入的策略与SQL注入类似,但需考虑Oracle特有的安全特性,如存储过程的安全性设置和权限管理。 总的来说,理解和防范SQL注入攻击是保护数据库安全的关键。企业应实施严格的安全策略,进行代码审查,加强...
2. 对用户输入进行严格的验证和过滤,避免非法字符。 3. 避免显示详细的错误信息,以免泄露数据库信息。 4. 限制数据库用户的权限,仅赋予执行所需操作的最小权限。 5. 定期进行安全审计和漏洞扫描,及时发现并修复...
- **非法标识符示例**:以数字开头,包含特殊字符(除下划线和美元符号外),或使用保留关键字作为标识符都是不合法的。 ### 14. EJB Bean类型 - **Session Bean**:用于实现业务逻辑,可以是无状态的或有状态的。...
PL/SQL支持多种字符集,可以根据实际需要选择合适的字符集来存储和处理数据。 ##### 二、词法单元 **1、分隔符** PL/SQL使用特定的符号作为分隔符,如逗号用于分割列表中的项目。 **2、标识符** 标识符用于命名...
19. 合法标识符:A、B、D和E是合法的,C中的`*`是非法字符。 20. EJB使用的Bean类型: - A. SessionBean - B. EntityBean - C. MessageDrivenBean 21. EJB的部署文件:A.ejb-jar.xml是EJB的部署描述符。 以上...
- 对用户输入进行过滤,避免非法字符进入SQL语句。 - 使用预编译语句或存储过程等技术,确保数据和SQL命令分离。 #### 二、SQL盲注初探 1. **盲注定义** - 盲注是一种特殊的SQL注入攻击,攻击者无法直接看到...