查询字符串所需的Url-Pattern包含“?”

问题描述:

我有URL像http://localhost:8080/default/j_spring_security_check?redirect=1查询字符串所需的Url-Pattern包含“?”

我想知道如何配置URL模式为上述网址

我已经在尝试下面

<url-pattern>/*</url-pattern> 
<url-pattern>/j_spring_security_check/<url-pattern> 
<url-pattern>/j_spring_security_check/*<url-pattern> 
<url-pattern>/<url-pattern> 
<url-pattern>/default/*<url-pattern> 

你能取悦任何人建议我正确的url模式来处理上面的url。 如果它不可能有任何其他的方式来过滤网址...

在此先感谢 Nithynķ

+0

你想用这个过滤来实现什么? –

+0

这与安全问题有关。上面提到的URL可以很容易地被其他用户用客户端脚本黑客攻击...这就是为什么要限制这个URL在安全包装过滤器 –

,无法筛选基于其在web.xml文件参数的URL。您只能过滤不带参数的网址。

您必须在Java代码中执行此操作,例如在ServletFilter中,或者直接在Servlet中执行。


假设default是你的web应用的根目录,你可以定义url-pattern/j_spring_security_check/和它匹配到一个特定的Servlet,将检查寻找到HttpServletRequest对象参数。

OR

你可以写一个ServletFilter将才去一个Servlet拦截请求并检查其参数为好。


编辑:由它看起来像你正在使用Spring和这个URL应该已经由框架来管理我没有首先注意到。

+0

谢谢盖尔..你能分享示例代码?如果可能的话..预先感谢 –

+0

我想你使用Spring如果你有这个URL,那么首先你想通过这个过滤来实现什么?因为'j_spring_security_check'应该已经被一些Spring代码或配置所处理... –

+0

这与安全问题有关。我提到的上述URL可以很容易地被其他用户用客户端脚本黑客攻击......这就是为什么要限制这个URL在安全包装过滤器 –