posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

UrlRewrite的使用记录

Posted on 2009-01-16 09:50 ZhouFeng 阅读(327) 评论(0)  编辑  收藏 所属分类: 原创Web开发Web服务器
为了不在地址栏里暴露过多的信息,想到了做一个地址的隐藏,在网上找了一些资料,决定试试UrlRewriet
在网上下载了urlrewrite的包,我下载的是urlrewritefilter-2.6-src.zip
打开压缩包,将里面的urlrewrite-2.6.0.jar放在工程的/WEB-INF/lib/目录下
将里面的urlrewrite.xml放在工程的/WEB-INF/目录下
修改/WEB-INF/web.xml,加入过滤器
<filter>
    
<filter-name>UrlRewriteFilter</filter-name>
    
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    
<init-param>
        
<param-name>logLevel</param-name>
        
<param-value>WARN</param-value>
    
</init-param>
</filter>
<filter-mapping>
    
<filter-name>UrlRewriteFilter</filter-name>
    
<url-pattern>/*</url-pattern>
</filter-mapping>
在urlrewrite.xml里加入规则,如:
<rule>
    
<note>
        The rule means that requests to /page/pagea.html will be redirected to /pagea.jsp
    
</note>
    
<from>/html/([a-z]+).html</from>
    
<to>/$1.jsp</to>
</rule>
此时在浏览器里访问/html/pagea.html会显示/pagea.jsp的内容,OK,搞定
如果这种地址隐藏可行,那么可以把jsp页面伪装成asp或是php页面,改写规则如下

<rule>
    
<note>
        The rule means that requests to /html/pagea.html will be redirected to /pagea.jsp
    
</note>
    
<from>/html/([a-z]+).html</from>
    
<to>/$1.jsp</to>
</rule>

<rule>
    
<note>
        The rule means that requests to /asp/pagea.asp will be redirected to /pagea.jsp
    
</note>
    
<from>/asp/([a-z]+).asp</from>
    
<to>/$1.jsp</to>
</rule>

<rule>
    
<note>
        The rule means that requests to /php/pagea.php will be redirected to /pagea.jsp
    
</note>
    
<from>/php/([a-z]+).php</from>
    
<to>/$1.jsp</to>
</rule>
此时,在浏览器里输入
/html/pagea.html
/asp/pagea.asp
/php/pagea.php
均可以访问页面pagea.jsp
几个月前我写了一篇笔记做地址伪装的,看来完全可以用这个东东代替了,上次写的那个还有一些问题没有完全解决,用urlrewrite做地址隐藏,真是感觉很专业,完美呀,初次使用,可能有些高级的功能还没有用到,不过通过这样的试验,已感觉出它的强大,这应该是一个很好的解决方案.


只有注册用户登录后才能发表评论。


网站导航: