Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Application Server » Tomcat  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 给Tomcat写了一个可能有点另类的过滤器.提交到Tomcat 的bug里被拒了 :(
bluepure

pureblue



发贴: 509
积分: 85
于 2005-02-19 11:17 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
思路来源:

如果想禁止指定的ip或者主机名来拒绝某些机器访问,或者指定某些机器来访问。Tomcat 通过在server.xml里设置,支持分别按Engine, Host, or Context,进行以下配置:
<Context path="/examples" ...> ...
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow="*.mycompany.com,www.yourcompany.com"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="192.168.1.*"/>
</Context>
( see http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/valve.html)

于是我订制了一个过滤器,实现对 Http header的检查,
可以用来禁止 user-agent里包含 "httpunit"字样的客户端的访问,这样可以从某种程度上防止机器人程序的攻击。

具体的代码在 :

http://issues.apache.org/bugzilla/show_bug.cgi?id=33632

结果被认为太简单了,而且说要自己在过滤器里去做,被拒了:(

同时根据这个思路,我又写了一个过滤器,用来代替平时的Charset的过滤器。
这样就可以不用每个webapp里去设置过滤器了,直接在Tomcat上一劳永逸的搞定:

具体可以参看:

http://issues.apache.org/bugzilla/show_bug.cgi?id=32795

对了,Tomcat的示例里:
D:\jakarta-tomcat-5.5.7\webapps\servlets-examples\WEB-INF\web.xml

里被日本人强制指定默认值为日文编码了,FT!!!!!!!!!!!!!!!!!!!!!!!!!!!

<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>EUC_JP</param-value>
</init-param>
</filter>




话题树型展开
人气 标题 作者 字数 发贴时间
10408 给Tomcat写了一个可能有点另类的过滤器.提交到Tomcat 的bug里被拒了 :( bluepure 1245 2005-02-19 11:17
8806 Re:给Tomcat写了一个可能有点另类的过滤器.提交到Tomcat 的bug里被拒了 :( bluepure 240 2005-02-19 11:47

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923