私は答えたとして、質問がすでにマークされているけど、私が見つかりました。このpostが役に立ちます(本当にあなたの質問には答えません)。具体的には、Chris Shiflett's articleというCSRFと簡単な解答(あなたの質問に加えていくつかの答えに)を説明する2番目の回答です。ここで
はあなたのVBScriptにクリスのPHPを変換する方法を次のとおりです。
Dim token
token = md5(GetGUID())
Session("token")=token
Session("token_time")=Time() ' if you want to allow for a small window of time
' checks to make sure the request method is truly a post-back
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
' Prevent CSRF (Cross-Site Request Forgeries) by comparing request-generated tokens. See http://shiflett.org/articles/cross-site-request-forgeries
If Request.Form("token") = Session("token") Then
' Request is a post-back and is not a CSRF
End If
End If
あなたはhere(GUIDをハッシュするために使用される)md5()
機能を見てすることができます。 md5
ハッシュは必要ありませんが、一意性とセキュリティの別のレイヤーを追加します。
あなたの答え、特にシークレットの記事へのリンクをありがとう!あなたが言ったように私はトークンを実装しました。私はmd5のものも使用すると思います。 – ulluoink
md5は実際に一意性を失うハッシュです。私は心配するだけでは十分ではないと思っていますが、あなたが短い文字列を作るためにmd5をやっている、あるいはGUIDではないと人々に思わせるなら、それはうまくいきますが、md5は現在廃止されていると考えられています彼らは壊れていた(彼らは衝突を製造することができる)。 –