【问题标题】:Differences of Servlet and Classic ASP in handling RequestsServlet 和 Classic ASP 处理请求的区别
【发布时间】:2011-11-19 10:50:01
【问题描述】:

我不了解 Classic ASP,我的任务是解决 Classic ASP Web 应用程序的 XSS 和 XSRF 漏洞。我需要知道以下几点:

  1. 如何将请求值提交到 下一页,如果我使用的是 Response.Redirect("someurl")?我不能使用 GET,只能使用 POST。
  2. 响应重定向的行为是否类似于 RequestDispatcher sendRedirect?
  3. 如何在经典 ASP 中进行转发而不是重定向?
  4. 如何在不使用表单的情况下在经典 ASP 中设置请求属性?

【问题讨论】:

  • 这与 servlet 无关。而且“x vs. y”根本不适合作为标题。
  • 基本主题问题非常广泛。

标签: asp-classic


【解决方案1】:

经典 asp 中的 Response.Redirect 向客户端发送 HTTP 302 Object Moved 状态代码。此外,它发送“新”位置。因此客户端将向“新”位置发送新请求。

您可以使用服务器 xmlhttp 在服务器端进行发布请求..

Response.Redirect Method

How To Submit Form Data by Using XMLHTTP or ServerXMLHTTP Object

【讨论】:

    【解决方案2】:

    如何在经典 ASP 中进行转发而不是重定向?

    我猜你的意思是将现有的表单数据传递到不同的页面?为此使用Server.Transfer 方法。

    如何在不使用表单的情况下在经典 ASP 中设置请求属性?

    你不能它是只读的。如果您的意思是如何在没有实际表单的情况下模拟发布表单数据,则可以使用基本的 AJAX,并且您必须假设每个访问者都可以这样做,这意味着您不能信任 Request.Form 值。它们很容易被欺骗。

    【讨论】:

      【解决方案3】:

      回答第 1、4 部分

      在不使用表单的情况下发送值

      response.redirect("target_page.asp?MyParam=Something")

      要从 GET 方法发送的命名参数中检索 target_page 中的值,请使用

      MyVariable = Request.QueryString("MyParam")

      【讨论】:

      • 这是正确的,但是,您没有回答问题,据说我不允许使用 GET
      • 您没有阅读我的回答。我只回复了第 1 部分和第 4 部分
      猜你喜欢
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 2012-11-05
      • 2012-04-02
      • 2011-12-26
      • 1970-01-01
      相关资源
      最近更新 更多