你能用帧中的POST调用表单吗?

时间:2011-04-22 17:36:05

标签: asp-classic frameset

我有一个经典的ASP系统,现在使用Frames,但我需要锁定CSS和CSRF的系统。我对这种语言比较新,但已经好几天了,找不到答案。

我想将表单的调用从Get更改为Post。 我是否需要将应用程序重新编写到中间的所有其他表单级别才能完成此操作?这是框架

<FRAMESET  COLS="46%,*">
    <FRAME NAME="M_LFrame" SRC="M_LFrm.asp" MARGINWIDTH="5" MARGINHEIGHT="5" SCROLLING="auto" FRAMEBORDER="no">
    <FRAME NAME="M_RFrame" SRC="M_RFrm.asp" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="auto" FRAMEBORDER="yes">
</FRAMESET>

使用M_LFrm.asp和M_RFrm.asp的两个表单都有asp逻辑调用数据库以获取信息。在调用DB之前,我想要进行CSRF令牌检查,但我不确定如何将令牌传递到这些表单中,因为它们是通过获取和可见的帧。有没有办法用POST调用这些表单?

谢谢。

1 个答案:

答案 0 :(得分:0)

在使用POST而不是GET的经典asp中,需要将表单从method =“get”更改为method =“post”。

处理表单数据的ASP代码将有一个“request.querystring()”或“request()”指令来获取表单数据。

  • 的Request.QueryString(“[formfield 名称]“)可以访问GET数据
  • request.form(“[formfield name]”)可以 访问POST数据
  • request(“[formfield name]”)可以 访问POST和GET数据

因此,要将代码从使用GET更改为POST,在ASP代码中,您需要将任何request.querystring()指令更改为request.form()或只是request()

希望这有帮助,