ASPでフォームポストを模倣する
&および?を使用してURLで情報を送信する確かに動作します-しかし、それは非常に安全ではありません!代わりにASPコードのPOSTがある場合、ハッカーによるコードへの影響を防ぐのに役立ちます。

たとえば、これはPayPalボタンを作成するときに非常に重要です。はい、ボタンが1つしかない場合は、PayPalボタンファクトリを使用して完全に安全な(コード化された)ボタンを作成できます。ただし、多くの場合、ASPを使用しているのは、動的ページを作成しているためです。ボタンファクトリですべてのボタンを事前にプリコーディングすることはできません。

解決策は、Cookieとフォームポストの組み合わせを使用することです。まず、注文ページから処理ページに必要な情報をすべて取得する必要があります。 [購入]ボタンがあるページで、価格、アイテムコードなどのすべての重要な情報をCookieに保存します。 [購入]ボタンがあなたのprocess.aspページを指すようにして、PayPalに移動するために必要なリンクを作成します。そうすれば、エンドユーザーは「ソースの表示」にアクセスできず、PayPalに提供している情報を正確に確認できません。

さて、process.aspには、次のようなコードが含まれます。

DestURL = "//www.paypal.com/etc。"
SendString = "NOTE-PAYPAL-VARS-GO-HERE"

set xmlhttp = CreateObject( "MSXML2.ServerXMLHTTP")
xmlhttp.open "POST"、url、false
xmlhttp.setRequestHeader "Content-Type"、 "application / x-www-form-urlencoded"
xmlhttp.send SendString
Response.write xmlhttp.responseText
xmlhttp =何も設定しない

DestURLは、PayPalフォームの通常の送信先に設定されます。 PayPalはその価値を教えてくれます。 SendStringは、PayPalに渡す変数を含む文字列である必要があります。これは次のようになります。

SendString = "cmd = _xclick&no_shipping = 1&amount ="&Price&_
"&item_number ="&ItemNo&_
"&business ="&PayPalAcct&_

等々。 PayPalフォームで通常提供するものはすべて、この送信文字列に適切に含めるだけです。前のページで設定したCookieからPrice、ItemNoなどの値を取得します。

この利点は、エンドユーザーがこれらの値をまったく認識しないことです。そうすれば、彼らは戻りページのコードを知っているだけであなたのシステムにハッキングできず、直接そこに行くだけです。すべてがビューから隠されているため、PayPalトランザクション、またはフォームを使用して情報を受け渡すトランザクションをより安全にすることができます。