2012-02-19 11 views
2

私は自分のウェブサイトに2coで支払いシステムを実装しています。私は成功した支払いの後にquerystringsの束と私のウェブサイト上のASPXページに顧客を返す彼らの "ヘッダリダイレクト"を使用しています。サードパーティのウェブサイトから復帰するクエリーストリングの保護

とにかく、私は疑問に思っていました。これを確保する適切な方法は何ですか?顧客が `Payment.aspx?params-here 'のようなパラメータを入力し、アカウントに希望するクレジットを追加した場合

これが100%本物であることを確認するにはどうすればよいですか?

提案?ありがとう!

答えて

2

parameter tamperingへのソリューションアプローチは、通常、クエリパラメータを簡単に操作できないものにマッピングします。一方向ハッシュ関数を使用して元のパラメータと共に送信するダイジェストを作成し、特定のマッピング/ダイジェストが有効である期間を制限することによって、ダイジェストが照会パラメーターと一致する場合、要求は改ざんされていません。

など。あなたのURL

Payment.aspx?Amount=100

Payment.aspx?Amount=100&Digest=53e5e07397f7f01c2b276af813901c2

なる可能性がここで話題に古いがまだ関連、詳細な記事です:あなたはPage.EnableEventValidationどの用途に使用することができますASP.NETでPassing Tamper-Proof QueryString Parameters

フォームからリクエストがフォームから発行されたことを検証するフォームの一部としての隠しテキストボックス

EnableEventValidationプロパティがtrueに設定されている場合、ASP.NET は、そのコントロールによって描画された のユーザーインターフェイスからコントロールイベントが発生したことを検証します。コントロールは のレンダリング中にイベントを登録し、ポストバック中またはコールバック の処理中にイベントを検証します。たとえば、リストコントロールに番号1、 2、またはページがレンダリングされたとき3があり、ポストバック要求が がオプション番号4を指定して受信された場合、ASP.NETは例外を発生させます。すべての ASP.NETのイベント駆動型コントロールは、既定でこの機能を使用します。

関連する問題