2016-08-31 4 views
0

私はvb6と古典的なasp(12年前)で開発されたアプリケーションを持っています。今私はクロスサイトリクエスト偽造(CSRF)からそれを防ぐ必要があります。クラシックASPサイトでcsrf攻撃を防止するにはどうすればよいですか?

どうすればこの問題を解決できますか?

+1

この記事 - [CSRFとXSRF攻撃の防止(https://blog.codinghorror.com/preventing-csrf-and-xsrf-attacks /)私たち自身の[Jeff Atwood♦](http://stackoverflow.com/users/1/jeff-atwood)は、あなたが望む距離に応じて、あなたが取ることができる2つのアプローチについて詳しく説明します。アプローチ。 – Lankymart

+0

あなたのコメントのために@Lankymartに感謝します。ここで私は古典的なASPでこれを達成するための特定のコードを探しています。私はCSRFと、MVCのような最新のアプリケーションでそれを防ぐ方法をよく知っています。しかし、私は12年前にvb6コードで開発された古典的なaspサイトでそれを達成する方法を知らない。 –

+1

どちらの場合でも、実装はテクノロジースタックだけであるということを理解してもよかった。では、なぜあなたはその質問をしていますか?あなたはちょうどcodezをしたいですか?そういうわけではありませんが、あなたはあなたが個人的にこの問題を明確な[mcve]で試みてきた方法を投稿し、私たちは助けようとします。 – Lankymart

答えて

4

asp.net mvcのようにほぼ同じように実現できます。

  1. サーバー上のトークンを生成し、それを保存する(例えばセッションで)
  2. は、クライアントのクライアントが「通常」のフォームデータと一緒にサーバに送り返し
  3. にトークンを送信

を必要に応じて、あなたも「コピー」サーバー上のasp.net機能をトークンをチェックし、可能性があり、このようなVBScriptの関数で書く:

public function AntiForgeryToken() 
    AntiForgeryToken = "<input type=""hidden"" name=""CSRFToken"" value=""" & session("CSRFToken") & """/>" 
end function 

' then in every form as needed: 

<form> 
<%=AntiForgeryToken()%> 
<input type="text" name="" value=""> 
<input type="submit" value="submit"> 
</form> 

さらに読書:

synchronizer token pattern in classic asp

Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet

+0

偉大な答えが、あなたのために仕事をしたいこのような質問を食べるだけです。 – Lankymart

+0

ありがとうございます@ulluoink –

関連する問題