druid的WallFilter问题

beming 发布于 2013/04/16 16:37
阅读 4K+
收藏 0

@wenshao 你好,想跟你请教个问题:

我配置打开了wallconfig的配置:

<bean id="wall-filter-config" class="com.alibaba.druid.wall.WallConfig" init-method="init">
	      <!-- 指定配置装载的目录  -->
	      <property name="dir" value="META-INF/druid/wall/oracle" />
	      <property name="deleteWhereAlwayTrueCheck" value="false"/>
	      <property name="updateWhereAlayTrueCheck" value="false"/>
	      <property name="objectCheck" value="false"/>
	      <property name="variantCheck" value="false"/>
	      <property name="functionCheck" value="false"/>
	      <property name="commentAllow" value="true"/>
	      <property name="multiStatementAllow" value="true"/>
	      <property name="truncateAllow" value="true"/>
	      <property name="selectUnionCheck" value="false"/>	  
	      <property name="alterTableAllow" value="true"/>
	      <property name="noneBaseStatementAllow" value="true"/>
	      <property name="schemaCheck" value="false"/>
	      <property name="dropTableAllow" value="true"/>
	  </bean>

在执行关闭外键的时候报错:

15:04:23,182  INFO BaseService:269 - 开始删除信息:3228c39a-6e05-4e9b-b296-f9
b26a36eb59
15:04:23,199 DEBUG SessionFactoryUtils:322 - Opening Hibernate Session
java.sql.SQLException: sql injection violation : alter table st_jklsxxb disable
constraint FK_ST_xxx_REFERENCE_ST_xxx
        at com.alibaba.druid.wall.WallFilter.check(WallFilter.java:311)
        at com.alibaba.druid.wall.WallFilter.statement_addBatch(WallFilter.java:
162)
        at com.alibaba.druid.filter.FilterChainImpl.statement_addBatch(FilterCha
inImpl.java:2570)
        at com.alibaba.druid.filter.FilterAdapter.statement_addBatch(FilterAdapt
er.java:2414)
        at com.alibaba.druid.filter.FilterChainImpl.statement_addBatch(FilterCha
inImpl.java:2570)
        at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.addBatch(StatementPro
xyImpl.java:78)
        at com.alibaba.druid.pool.DruidPooledStatement.addBatch(DruidPooledState
ment.java:521)

请问应该怎么配置wallfilter呢

加载中
0
wenshao
wenshao
现在缺省的版本是拦截alter table语句的,容易造成误报。下个版本将会解决这个问题。你可以使用最新的快照版本: http://code.alibabatech.com/mvn/snapshots/com/alibaba/druid/0.2.17-SNAPSHOT/ (最后一个是最新的)
wenshao
wenshao
@beming 原来是parser不支持disable constraint,我刚改了代码,你再更新一下快照:/home/wenshao/.m2/repository/com/alibaba/druid/0.2.17-SNAPSHOT/
b
beming
刚试过了,还是那样报错。
0
b
beming
谢谢,下载试试
0
b
beming

引用来自“wenshao”的答案

现在缺省的版本是拦截alter table语句的,容易造成误报。下个版本将会解决这个问题。你可以使用最新的快照版本: http://code.alibabatech.com/mvn/snapshots/com/alibaba/druid/0.2.17-SNAPSHOT/ (最后一个是最新的)
刚试过了,还是那样报错。
0
wenshao
wenshao
原来是sql parser不支持disable constraint子句,我刚改了代码。你再更新一下快照: http://code.alibabatech.com/mvn/snapshots/com/alibaba/druid/0.2.17-SNAPSHOT/
b
beming
刚下载了今天17号的最新快照,明天找时间测试一下。
b
beming
经下载最新快照测试测试还是报同样错误。
0
wenshao
wenshao
同时请问,你是什么数据库?
0
b
beming
@wenshao:oracle
0
b
beming
@wenshao:经下载最新快照测试测试还是报同样错误。
0
b
beming
刚下载了今天的最新快照,明天找时间测试一下。
0
wenshao
wenshao
那我今晚补充Oracle对这个DDL语法的支持吧,明天你再测试。
0
b
beming
@wenshao ,经测试,可以了,谢谢,不知道什么时候release呢?
wenshao
wenshao
在5.1放假回来之后就发布
返回顶部
顶部