SQLインジェクションを防止するために、アプリケーションで特定の単語をチェックするクラスを使用しています。式を評価できません
このクラスでは、特定の単語とブラックリストの単語を一致させようとするforループがあります。 一致した場合は、システムのエラーページにリダイレクトする必要があります。
しかし、一致が見つかったときにリダイレクトしようとすると、「式を評価できません」というエラーが表示され続けます。ここで
は、コードは次のとおりです。
Private Sub CheckInput(ByVal parameter As String)
Try
Dim errorPage As String = "error_page.aspx?Injection=" & parameter
For i As Integer = 0 To blackList.Length - 1
If (parameter.IndexOf(blackList(i), StringComparison.OrdinalIgnoreCase) >= 0) Then
'Handle the discovery of suspicious Sql characters here
'generic error page on your site
HttpContext.Current.Response.Redirect(errorPage)
End If
Next
Catch ex As Exception
Throw ex
End Try
Tryブロックでエラーをキャッチしたら、それはエラーを与え続け、エラーページにリダイレクトされません。
アイデア?
sql injectionsの準備文を使用する必要があります。 –
"式を評価できません"は、コードではなくデバッガからのものです。スコープ外のコードではおそらく時計があります。 – vcsjones