Posted on 2009-01-16 09:50
ZhouFeng 阅读(337)
评论(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做地址隐藏,真是感觉很专业,完美呀,初次使用,可能有些高级的功能还没有用到,不过通过这样的试验,已感觉出它的强大,这应该是一个很好的解决方案.