mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
@@ -16,7 +16,7 @@ public class BitwiseAndTest extends TestCase {
|
||||
|
||||
public void test_true() throws Exception {
|
||||
WallConfig config = new WallConfig();
|
||||
config.setConditionOpBitwiseAllow(false);
|
||||
config.setConditionOpBitwseAllow(false);
|
||||
Assert.assertFalse(WallUtils.isValidateMySql(//
|
||||
"SELECT * from t where id = 1 & 2", config)); //
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class BitwiseInvertTest extends TestCase {
|
||||
|
||||
public void test_false() throws Exception {
|
||||
WallConfig config = new WallConfig();
|
||||
config.setConditionOpBitwiseAllow(false);
|
||||
config.setConditionOpBitwseAllow(false);
|
||||
Assert.assertFalse(WallUtils.isValidateMySql(//
|
||||
"SELECT * from t where id = ~2", config)); //
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class BitwiseOrTest extends TestCase {
|
||||
|
||||
public void test_false() throws Exception {
|
||||
WallConfig config = new WallConfig();
|
||||
config.setConditionOpBitwiseAllow(false);
|
||||
config.setConditionOpBitwseAllow(false);
|
||||
Assert.assertFalse(WallUtils.isValidateMySql(//
|
||||
"SELECT * from t where id = 1 | 2", config)); //
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class BitwiseXorTest extends TestCase {
|
||||
|
||||
public void test_false() throws Exception {
|
||||
WallConfig config = new WallConfig();
|
||||
config.setConditionOpBitwiseAllow(false);
|
||||
config.setConditionOpBitwseAllow(false);
|
||||
Assert.assertFalse(WallUtils.isValidateMySql(//
|
||||
"SELECT * from t where id = 1 ^ 2", config)); //
|
||||
}
|
||||
|
||||
@@ -16,8 +16,13 @@ public class HintTest extends TestCase {
|
||||
Assert.assertFalse(WallUtils.isValidateMySql(sql, config)); //
|
||||
}
|
||||
|
||||
public void test_true() throws Exception {
|
||||
public void test_false_1() throws Exception {
|
||||
String sql = "select * from person where id = '3'/**/union select 0,1,v from (select 1,2,user/*!() as v*/) a where '1'<>''";
|
||||
Assert.assertFalse(WallUtils.isValidateMySql(sql)); //
|
||||
}
|
||||
|
||||
public void test_true() throws Exception {
|
||||
String sql = "SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2";
|
||||
Assert.assertTrue(WallUtils.isValidateMySql(sql)); //
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ public class MySqlWallTest43 extends TestCase {
|
||||
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new MySqlWallProvider();
|
||||
provider.getConfig().setConditionAndAlwaysTrueAllow(true);
|
||||
provider.getConfig().setConditionAndAlwayTrueAllow(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"SELECT COUNT(1) AS count FROM `team` " + //
|
||||
@@ -64,7 +64,7 @@ public class MySqlWallTest43 extends TestCase {
|
||||
|
||||
public void test_true2() throws Exception {
|
||||
WallProvider provider = new MySqlWallProvider();
|
||||
provider.getConfig().setConditionAndAlwaysFalseAllow(true);
|
||||
provider.getConfig().setConditionAndAlwayFalseAllow(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"SELECT COUNT(1) AS count FROM `team` " + //
|
||||
|
||||
@@ -34,7 +34,7 @@ public class MySqlWallTest89 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new MySqlWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"select login('', '', 'guest', '47ea3937793101011caaa5dd88d3bcae926526624796b8a26a9615e8d3bea6b4', 'iPad3,4', 'unknown'), '', (select max(num) from accounts) + @@auto_increment_increment"));
|
||||
|
||||
@@ -34,7 +34,7 @@ public class MySqlWallTest90 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new MySqlWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"select * from (select t10006_men_xing_jia_ge_fen_lei.bian_hao as \"bian_hao\", " + //
|
||||
|
||||
@@ -36,7 +36,7 @@ public class MySqlWallTest91 extends TestCase {
|
||||
|
||||
provider.getConfig().setStrictSyntaxCheck(false);
|
||||
provider.getConfig().setMultiStatementAllow(true);
|
||||
provider.getConfig().setConditionAndAlwaysTrueAllow(true);
|
||||
provider.getConfig().setConditionAndAlwayTrueAllow(true);
|
||||
provider.getConfig().setNoneBaseStatementAllow(true);
|
||||
provider.getConfig().setLimitZeroAllow(true);
|
||||
provider.getConfig().setConditionDoubleConstAllow(true);
|
||||
|
||||
@@ -27,7 +27,7 @@ public class MySqlWallTest_concat extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new MySqlWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"select * from tb_product_word where name='' or CONCAT(name,style)='' or CONCAT(shop,style)='' or CONCAT(ename,style)=''"));
|
||||
|
||||
@@ -36,7 +36,7 @@ public class SQLServerWallTest_0 extends TestCase {
|
||||
|
||||
provider.getConfig().setStrictSyntaxCheck(false);
|
||||
provider.getConfig().setMultiStatementAllow(true);
|
||||
provider.getConfig().setConditionAndAlwaysTrueAllow(true);
|
||||
provider.getConfig().setConditionAndAlwayTrueAllow(true);
|
||||
provider.getConfig().setNoneBaseStatementAllow(true);
|
||||
provider.getConfig().setLimitZeroAllow(true);
|
||||
provider.getConfig().setConditionDoubleConstAllow(true);
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SQLServerWallTest_3 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new SQLServerWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertFalse(provider.checkValid(//
|
||||
"select * from t where LEN(HOST_NAME()) > 0"));
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SQLServerWallTest_4 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new SQLServerWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"insert into t (fid, name) values (1, HOST_NAME())"));
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SQLServerWallTest_5 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new SQLServerWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertFalse(provider.checkValid(//
|
||||
"delete t where LEN(HOST_NAME()) > 0"));
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SQLServerWallTest_6 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new SQLServerWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertFalse(provider.checkValid(//
|
||||
"update t set fid = 1 where LEN(HOST_NAME()) > 0"));
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SQLServerWallTest_7 extends TestCase {
|
||||
public void test_true() throws Exception {
|
||||
WallProvider provider = new SQLServerWallProvider();
|
||||
|
||||
provider.getConfig().setSelectHavingAlwaysTrueCheck(true);
|
||||
provider.getConfig().setSelectHavingAlwayTrueCheck(true);
|
||||
|
||||
Assert.assertTrue(provider.checkValid(//
|
||||
"select * from (select top 3000 jol.id as primaryKeyIds, jo.orderNo as 委托单号, bm.custname as 委托方名称, manuCustInfo.custname as 出证方, jo.chkerDate as 委托日期, bcc.connectName as 联系人, bcc.mobile as 电话,jol.barcode as 样品条码, jol.name as 样品名称, jol.qtysub as 套件数量,jol.OnlyCode as 唯一识别码,jol.manufacture as 制造厂商,jol.sprc as 规格型号, jol.outno as 出厂编号, djod.name as 任务状态, djoc.name 委托类别, dct.name as 证书类型,bdp.organ_name as 分配室组, jol.task_id as 任务ID, be.user_name as 检定人员, verifyUser.user_name as 核验员, checkUser.user_name as 批准员, jol.ddate 交款日期,cjcs.name as 缴款状态, jc.moneys as 应收费, jc.moneystotal as 实收费, be.organ_id from jl_OrderList jol left outer join jl_CheckList jc on jol.checkList_id = jc.id left outer join jl_Order jo on jol.orderid = jo.id left outer join ba_dptinfo bdp on jol.dptid = bdp.id left outer join jl_Task jt on jol.task_id = jt.id left outer join ba_manucustinfo bm on jo.entrustCustId = bm.id left outer join ba_manucustinfo manuCustInfo on jo.custid = manuCustInfo.id left outer join ba_custconnect bcc on jo.linkPerson = bcc.id left outer join ba_employeeinfo be on jt.jdUserId = be.id left outer join ba_employeeinfo verifyUser on jt.verifyUser = verifyUser.id left outer join ba_employeeinfo checkUser on jt.checkUser = checkUser.id left outer join dict_jl_order_doType djod on jol.dotypeid = djod.id left outer join dict_jl_order_class djoc on jo.orderclassid = djoc.id left outer join dict_certificate_type dct on jt.certificatetype = dct.id left outer join dict_jl_chargestatus cjcs on jol.chargestatus = cjcs.id where jol.id >= (select min(primaryKeyId) from (select top 3000 jol.id as primaryKeyId from jl_OrderList jol left outer join jl_CheckList jc on jol.checkList_id = jc.id left outer join jl_Order jo on jol.orderid = jo.id left outer join ba_dptinfo bdp on jol.dptid = bdp.id left outer join jl_Task jt on jol.task_id = jt.id left outer join ba_manucustinfo bm on jo.entrustCustId = bm.id left outer join ba_manucustinfo manuCustInfo on jo.custid = manuCustInfo.id left outer join ba_custconnect bcc on jo.linkPerson = bcc.id left outer join ba_employeeinfo be on jt.jdUserId = be.id left outer join ba_employeeinfo verifyUser on jt.verifyUser = verifyUser.id left outer join ba_employeeinfo checkUser on jt.checkUser = checkUser.id left outer join dict_jl_order_doType djod on jol.dotypeid = djod.id left outer join dict_jl_order_class djoc on jo.orderclassid = djoc.id left outer join dict_certificate_type dct on jt.certificatetype = dct.id left outer join dict_jl_chargestatus cjcs on jol.chargestatus = cjcs.id where jo.chkerDate >= ? and jo.chkerDate <= ? and jol.ddate >= ? order by jol.id desc, jo.id DESC) as T) and jo.chkerDate >= ? and jo.chkerDate <= ? and jol.ddate >= ? order by jol.id asc, jo.id DESC) as T1 order by T1.primaryKeyIds desc"));
|
||||
|
||||
@@ -47,7 +47,7 @@ public class MySqlResourceWallTest extends TestCase {
|
||||
provider.getConfig().setUseAllow(true);
|
||||
provider.getConfig().setStrictSyntaxCheck(false);
|
||||
provider.getConfig().setMultiStatementAllow(true);
|
||||
provider.getConfig().setConditionAndAlwaysTrueAllow(true);
|
||||
provider.getConfig().setConditionAndAlwayTrueAllow(true);
|
||||
provider.getConfig().setNoneBaseStatementAllow(true);
|
||||
provider.getConfig().setSelectUnionCheck(false);
|
||||
provider.getConfig().setSchemaCheck(true);
|
||||
|
||||
Reference in New Issue
Block a user