【问题标题】:Parentheses () is omitted in servlet request objectservlet 请求对象中省略括号 ()
【发布时间】:2016-07-27 12:26:30
【问题描述】:

我有一个请求参数,该参数在页面中包含括号,例如第 1 页。示例:param=Test(Copy) 流程从这个页面(第 1 页)到另一个(第 2 页)。在页面(第 2 页)中单击提交时,控件应该返回到第 1 页。当它返回时,应该检查此参数,param。 这是一个 GET 请求。

现在发生的情况是请求参数中的值是TestCopy 而不是Test(Copy)。因此我得到一个缺少资源的错误。

我无法理解可能缺少什么。

任何建议都会有所帮助。谢谢!

【问题讨论】:

  • 可能跟urlencode有关系
  • 也可以显示你的代码
  • @AmitGarg:显示代码可能是不可能的,因为它是框架级别的代码。而且非常复杂。但是我们发现括号被编码了,而在解码时它被截断了。
  • 你如何从浏览器/sendRedirect 调用你的两个 url?
  • 为什么我的问题被否决了?

标签: javascript java jsp servlets request


【解决方案1】:

将 ( 替换为 %28. "%28" 代表请求 URL 中的 "("。 有关 URL 编码,请参阅以下链接
http://www.w3schools.com/tags/ref_urlencode.asp

【讨论】:

  • 其实这就是我们正在做的。但是正在发生的事情是作为安全性的一部分,%28 被截断了。我们必须处理它。无论如何谢谢:)
  • 你能描述一下安全部分吗?你没有描述任何关于安全问题的事情。
  • 我们的应用程序中有 appscan 检查。一些字符作为其中的一部分被删除。在详细检查了我的代码后,我意识到了这一点。因此,作为编码的一部分, ( 已更改为 %28 但在验证字符期间将其替换为空格。这就是请求中缺少括号的原因。
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
相关资源
最近更新 更多