Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Application Server
» Tomcat
打印话题 寄给朋友 订阅主题 |
作者 | 给Tomcat写了一个可能有点另类的过滤器.提交到Tomcat 的bug里被拒了 :( |
bluepure
pureblue 发贴: 509 积分: 85 |
于 2005-02-19 11:17
思路来源: 如果想禁止指定的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> |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
10303 | 给Tomcat写了一个可能有点另类的过滤器.提交到Tomcat 的bug里被拒了 :( | bluepure | 1245 | 2005-02-19 11:17 |
8702 | Re:给Tomcat写了一个可能有点另类的过滤器.提交到Tomcat 的bug里被拒了 :( | bluepure | 240 | 2005-02-19 11:47 |
已读帖子 新的帖子 被删除的帖子 |
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 |