// 특수문자 필터링을 위해 특수문자를 정의 Pattern evilChars = Pattern.compile("['\"\\-#()@;=*/+]"); // 특수문자는 모드 공백으로 치환 test_str = evilChars.matcher(test_str).replaceAll(""); // 특수 구문 필터링 (데이터베이스가 Oracle 인 경우) test_str_low= test_str.toLowerCase(); if(test_str_low.contains("union") || test_str_low.contains("select") || test_str_low.contains("insert") || test_str_low.contains("drop") || test_str_low.contains("update") || test_str_low.contains("delete") || test_str_low.contains("join") || test_str_low.contains("from") || test_str_low.contains("where") || test_str_low.contains("substr") || test_str_low.contains("user_tables") || test_str_low.contains("user_tab_columns")) { test_str = test_str_low; test_str = test_str.replaceAll("union", "q-union"); test_str = test_str.replaceAll("select", "q-select"); test_str = test_str.replaceAll("insert", "q-insert"); test_str = test_str.replaceAll("drop", "q-drop"); test_str = test_str.replaceAll("update", "q-update"); test_str = test_str.replaceAll("delete", "q-delete"); test_str = test_str.replaceAll("and", "q-and"); test_str = test_str.replaceAll("or", "q-or"); test_str = test_str.replaceAll("join", "q-join"); test_str = test_str.replaceAll("substr", "q-substr"); test_str = test_str.replaceAll("from", "q-from"); test_str = test_str.replaceAll("where", "q-where"); test_str = test_str.replaceAll("declare", "q-declare"); test_str = test_str.replaceAll("openrowset", "q-openrowset"); test_str = test_str.replaceAll("user_tables","q-user_tables"); test_str = test_str.replaceAll("user_tab_columns","q-user_tab_columns"); test_str = test_str.replaceAll("table_name","q-table_name"); test_str = test_str.replaceAll("column_name","q-column_name"); test_str = test_str.replaceAll("row_num","q-row_num"); }