0

現在、フレームを使用する従来の ASP システムを使用していますが、CSS と CSRF のためにシステムをロックダウンする必要があります。私はこの言語に慣れていませんが、何日も検索していて、答えが見つかりません。

フォームへの呼び出しを Gets から 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 トークンのチェックを行いたいのですが、これらのフォームにトークンを渡す方法がわかりません。これは、Get されて表示されるフレームを介しているためです。これらのフォームを POST で呼び出す方法はありますか?

ありがとうございました。

4

1 に答える 1

0

従来のASPでは、GETの代わりにPOSTを使用することは、フォームをmethod="get"からmethod="post"に変更することです。

フォームデータを処理するASPコードには、フォームデータをフェッチするための「request.querystring()」または「request()」命令があります。

  • request.querystring( "[formfield name]")はGETデータにアクセスできます
  • request.form( "[formfield name]")はPOSTデータにアクセスできます
  • request( "[formfield name]")は、POSTデータとGETデータの両方にアクセスできます

したがって、コードをGETからPOSTに変更するには、ASPコードでrequest.querystring()命令をrequest.form()または単にrequest()に変更する必要があります。

お役に立てれば、

于 2011-05-06T08:36:38.193 に答える